Explorar o código

标准化测试扩充

LingxinMeng %!s(int64=2) %!d(string=hai) anos
pai
achega
a7152ff0df

+ 1 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/application/service/ProjectService.java

@@ -569,6 +569,7 @@ public class ProjectService {
 
 
     public void expand(String projectId, String isChoiceGpu, int totalParallelism, int expandParallelism, boolean isDone) {
+        log.info("扩充项目 {} {} 个并行度", projectId, expandParallelism);
         //1 获取剩余并行度和即将使用的各node的并行度
         Map<String, Integer> remainderNodeMap = projectDomainService.getRemainderNodeMap(isChoiceGpu);
         Map<String, Integer> nodeMapToUse = projectDomainService.getNodeMapToUse(isChoiceGpu, expandParallelism);

+ 19 - 16
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/domain/service/ProjectDomainService.java

@@ -916,27 +916,30 @@ public class ProjectDomainService {
     }
 
     public void removeWaitQueue(String waitType, String projectId) {
-        if (DictConstants.PROJECT_WAIT_TYPE_EXECUTE.equals(waitType)) {
-            List<ProjectWaitQueueEntity> waitQueue = getWaitQueue();
-            for (ProjectWaitQueueEntity projectWaitQueueEntity : waitQueue) {
-                if (projectWaitQueueEntity.getProjectMessageModel().getProjectId().equals(projectId) && projectWaitQueueEntity.getWaitingType().equals(DictConstants.PROJECT_WAIT_TYPE_EXECUTE)) {
-                    waitQueue.remove(projectWaitQueueEntity);
-                    break;
+        List<ProjectWaitQueueEntity> waitQueue = getWaitQueue();
+        if (CollectionUtil.isNotEmpty(waitQueue)) {
+            if (DictConstants.PROJECT_WAIT_TYPE_EXECUTE.equals(waitType)) {
+                for (ProjectWaitQueueEntity projectWaitQueueEntity : waitQueue) {
+                    if (projectWaitQueueEntity.getProjectMessageModel().getProjectId().equals(projectId) && projectWaitQueueEntity.getWaitingType().equals(DictConstants.PROJECT_WAIT_TYPE_EXECUTE)) {
+                        waitQueue.remove(projectWaitQueueEntity);
+                        break;
+                    }
                 }
-            }
-            setWaitQueue(waitQueue);
-        } else if (DictConstants.PROJECT_WAIT_TYPE_EXPAND.equals(waitType)) {
-            List<ProjectWaitQueueEntity> waitQueue = getWaitQueue();
-            for (ProjectWaitQueueEntity projectWaitQueueEntity : waitQueue) {
-                if (projectWaitQueueEntity.getProjectMessageModel().getProjectId().equals(projectId) && projectWaitQueueEntity.getWaitingType().equals(DictConstants.PROJECT_WAIT_TYPE_EXPAND)) {
-                    waitQueue.remove(projectWaitQueueEntity);
-                    break;
+                setWaitQueue(waitQueue);
+            } else if (DictConstants.PROJECT_WAIT_TYPE_EXPAND.equals(waitType)) {
+                for (ProjectWaitQueueEntity projectWaitQueueEntity : waitQueue) {
+                    if (projectWaitQueueEntity.getProjectMessageModel().getProjectId().equals(projectId) && projectWaitQueueEntity.getWaitingType().equals(DictConstants.PROJECT_WAIT_TYPE_EXPAND)) {
+                        waitQueue.remove(projectWaitQueueEntity);
+                        break;
+                    }
                 }
+            } else {
+                throw new RuntimeException("未知等待类型:" + waitType);
             }
-            setWaitQueue(waitQueue);
         } else {
-            throw new RuntimeException("未知等待类型:" + waitType);
+            waitQueue = new ArrayList<>();
         }
+        setWaitQueue(waitQueue);
 
     }
 

+ 1 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/infrastructure/scheduler/ProjectScheduler.java

@@ -45,8 +45,7 @@ public class ProjectScheduler {
                     projectDomainService.setWaitQueue(projectWaitQueue);
                     return;
                 }
-                projectService.checkIfCanRun(projectWaitQueueEntity
-                );
+                projectService.checkIfCanRun(projectWaitQueueEntity);
             }
         }
     }