|
@@ -47,7 +47,11 @@ public class ManualProjectConsumer {
|
|
|
@Autowired
|
|
|
StringRedisTemplate redisTemplate;
|
|
|
@Autowired
|
|
|
- ProjectMapper projectMapper;
|
|
|
+ ManualProjectMapper manualProjectMapper;
|
|
|
+ @Autowired
|
|
|
+ AutoProjectMapper autoProjectMapper;
|
|
|
+ @Autowired
|
|
|
+ AutoSubProjectMapper autoSubProjectMapper;
|
|
|
@Autowired
|
|
|
TaskMapper taskMapper;
|
|
|
@Autowired
|
|
@@ -64,7 +68,7 @@ public class ManualProjectConsumer {
|
|
|
SensorOgtMapper sensorOgtMapper;
|
|
|
@Autowired
|
|
|
AlgorithmMapper algorithmMapper;
|
|
|
-
|
|
|
+
|
|
|
|
|
|
@Value("${scheduler.manual-project.topic}")
|
|
|
String manualProjectTopic;
|
|
@@ -77,12 +81,6 @@ public class ManualProjectConsumer {
|
|
|
@Value("${scheduler.linux-temp-path}")
|
|
|
String linuxTempPath;
|
|
|
|
|
|
-
|
|
|
- @KafkaListener(groupId = "simulation-resource-scheduler", topics = "hello")
|
|
|
- public void testConsumer(ConsumerRecord<String, String> projectRecord) {
|
|
|
- log.info("------- testConsumer 消费成功:" + projectRecord.value());
|
|
|
- }
|
|
|
-
|
|
|
@KafkaListener(groupId = "simulation-resource-scheduler", topics = "${scheduler.manual-project.topic}")
|
|
|
@SneakyThrows
|
|
|
public void parseManualProject(ConsumerRecord<String, String> projectRecord) {
|
|
@@ -101,7 +99,9 @@ public class ManualProjectConsumer {
|
|
|
String projectJson = projectRecord.value();
|
|
|
ProjectMessageDTO projectMessageDTO = JsonUtil.jsonToBean(projectJson, ProjectMessageDTO.class);
|
|
|
String projectId = projectMessageDTO.getProjectId();
|
|
|
- projectMapper.resetProjectState(projectId, DictConstants.PROJECT_RUNNING);
|
|
|
+
|
|
|
+ redisTemplate.opsForValue().set(manualProjectTopic + ":" + projectId + ":taskCompleted", "0");
|
|
|
+ manualProjectMapper.resetProjectState(projectId, DictConstants.PROJECT_RUNNING);
|
|
|
taskMapper.updateStateByProjectId(projectId, DictConstants.TASK_PENDING);
|
|
|
|
|
|
|
|
@@ -144,7 +144,7 @@ public class ManualProjectConsumer {
|
|
|
int taskNumber = sceneList.size();
|
|
|
Set<ScenePO> sceneSet = new HashSet<>(sceneList);
|
|
|
log.info("------- ManualProjectConsumer 共有 " + taskNumber + " 个任务,对应 " + sceneSet.size() + " 个场景!");
|
|
|
- projectMapper.updateTaskNumber(projectId, taskNumber);
|
|
|
+ manualProjectMapper.updateTaskNumber(projectId, taskNumber);
|
|
|
|
|
|
|
|
|
String vehicleConfigId = projectMessageDTO.getVehicleConfigId();
|
|
@@ -440,7 +440,7 @@ public class ManualProjectConsumer {
|
|
|
|
|
|
@KafkaListener(groupId = "simulation-resource-scheduler", topics = "${scheduler.manual-project.stop-topic}")
|
|
|
@SneakyThrows
|
|
|
- public void stopProject(ConsumerRecord<String, String> stopRecord) {
|
|
|
+ public void stopManualProject(ConsumerRecord<String, String> stopRecord) {
|
|
|
log.info("------- ManualProjectConsumer 接收到的项目终止消息为:" + stopRecord);
|
|
|
|
|
|
|
|
@@ -452,8 +452,11 @@ public class ManualProjectConsumer {
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
JsonNode jsonNode = objectMapper.readTree(json);
|
|
|
String projectId = jsonNode.path("projectId").asText();
|
|
|
- projectMapper.updateProjectState(projectId, DictConstants.PROJECT_TERMINATED, TimeUtil.getNowForMysql());
|
|
|
+ manualProjectMapper.updateProjectState(projectId, DictConstants.PROJECT_TERMINATED, TimeUtil.getNowForMysql());
|
|
|
LinuxUtil.execute("kubectl delete job project-" + projectId);
|
|
|
redisTemplate.delete(manualProjectTopic + ":" + projectId + ":check");
|
|
|
}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|