root 2 лет назад
Родитель
Сommit
e5bc742c40

+ 8 - 3
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/consumer/ProjectConsumer.java

@@ -65,6 +65,8 @@ public class ProjectConsumer {
     @Resource
     SensorOgtMapper sensorOgtMapper;
     @Resource
+    AlgorithmMapper algorithmMapper;
+    @Resource
     UserMapper userMapper;
     @Resource
     ClusterMapper clusterMapper;
@@ -101,6 +103,7 @@ public class ProjectConsumer {
         String projectId = projectMessageDTO.getProjectId();        // 手动执行项目 id 或 自动执行子项目 id
         String packageId = projectMessageDTO.getScenePackageId();   // 场景测试包 id
         String vehicleConfigId = projectMessageDTO.getVehicleConfigId();// 模型配置 id
+        String algorithmId = projectMessageDTO.getVehicleConfigId();// 模型配置 id
         long videoTime = projectMessageDTO.getMaxSimulationTime();  // 结果视频的时长
         String projectType = projectMessageDTO.getType();           // 项目类型
         String userId = "";  // 用户 id
@@ -128,7 +131,9 @@ public class ProjectConsumer {
         VehiclePO vehiclePO = vehicleMapper.selectByVehicleConfigId(vehicleConfigId);   // 车辆
         List<CameraPO> cameraPOList = sensorCameraMapper.selectCameraByVehicleConfigId(vehicleConfigId);    // 摄像头
         List<OgtPO> ogtPOList = sensorOgtMapper.selectOgtByVehicleId(vehicleConfigId); // 完美传感器
-        // -------------------------------- 3 保存任务消息 --------------------------------
+        // -------------------------------- 3 算法导入 --------------------------------
+        String algorithmDockerImage = projectService.handleAlgorithm(projectId, algorithmId);
+        // -------------------------------- 4 保存任务消息 --------------------------------
         List<TaskPO> taskList = new ArrayList<>();
         for (ScenePO scenePO : scenePOSet) {
             String sceneId = scenePO.getId();
@@ -399,8 +404,8 @@ public class ProjectConsumer {
         projectMessageDTO.setCurrentParallelism(realCurrentParallelism);
         log.info("ProjectConsume--parseProject 项目 " + projectId + " 运行在:" + nodeMap);
         stringRedisTemplate.opsForValue().set(projectRunningKey, JsonUtil.beanToJson(projectMessageDTO));
-        // -------------------------------- 3 算法导入 --------------------------------
-        String algorithmDockerImage = projectService.handleAlgorithm(projectId, algorithmId);
+        //* -------------------------------- 3 根据算法id查询算法名称 --------------------------------
+        String algorithmDockerImage = algorithmMapper.selectDockerImageById(algorithmId);
         // -------------------------------- 4 发送任务消息 --------------------------------
         List<NodeTO> nodeListToCount = projectUtil.getNodeListToCount(nodeMap);
         final int[] messageNumber = CollectionUtil.createIntArray(0);

+ 4 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/AlgorithmMapper.java

@@ -39,6 +39,10 @@ public interface AlgorithmMapper {
             "from algorithm\n" +
             "where id = #{id}")
     AlgorithmPO selectById(@Param("id") String id);
+    @Select("select docker_image\n" +
+            "from algorithm\n" +
+            "where id = #{id}")
+    String selectDockerImageById(@Param("id") String id);
 
     @Select("select id,\n" +
             "       algorithm_code,\n" +