夜得朦胧 11 months ago
parent
commit
362f16e347

+ 13 - 3
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/app/service/ProjectApplicationService.java

@@ -563,11 +563,18 @@ public class ProjectApplicationService {
             } else {
                 waitingQueue = JsonUtil.jsonToList(waitingQueueJson, MultiProjectWaitQueueEntity.class);
             }
-            for (MultiProjectWaitQueueEntity waitQueueEntity : waitingQueue) {
-                if (waitQueueEntity.getProjectId().equals(projectId)) {
-                    waitingQueue.remove(waitQueueEntity);
+            Iterator<MultiProjectWaitQueueEntity> iterator = waitingQueue.iterator();
+            while (iterator.hasNext()){
+                MultiProjectWaitQueueEntity next = iterator.next();
+                if (next.getProjectId().equals(projectId)) {
+                    iterator.remove();
                 }
             }
+//            for (MultiProjectWaitQueueEntity waitQueueEntity : waitingQueue) {
+//                if (waitQueueEntity.getProjectId().equals(projectId)) {
+//                    waitingQueue.remove(waitQueueEntity);
+//                }
+//            }
             String newWaitingQueueJson = JsonUtil.listToJson(waitingQueue);
             customRedisClient.set(DictConstants.MULTI_PROJECT_WAIT_QUEUE_KEY, newWaitingQueueJson);
         } catch (JsonProcessingException e) {
@@ -1058,8 +1065,10 @@ public class ProjectApplicationService {
 //    @Transactional
     public void stopMultiProject(MultiSimulationProjectKafkaParam projectKafkaParam) {
         String projectId = projectKafkaParam.getProjectId();
+        log.info("开始删除stopMultiProject:{}", projectId);
         // 删除等待队列中的项目
         removeMulti(projectId);
+        log.info("删除等待队列中的项目完成:{}", projectId);
         String isChoiceGpu = DictConstants.USE_GPU;
         MultiSimulationProjectVO projectVO = multiSimulationProjectMapper.selectMultiSimulationProjectById(projectId);
 //        if (projectVO.getProjectStatus() == MultiSimulationStatusEnum.TERMINATED_STATUS.getProjectStatus() ||
@@ -1104,6 +1113,7 @@ public class ProjectApplicationService {
                     // 不作处理了
                 }
             }
+            log.info("开始设置整个仿真项目:{}", projectId);
             // 设置整个仿真项目
             if (status == MultiSimulationTaskStatusEnum.RUN_STATUS.getProjectStatus()){
                 multiSimulationProjectParam.setProjectStatus(MultiSimulationStatusEnum.TERMINATED_STATUS.getProjectStatus());