Forráskód Böngészése

资源不够则加入等待队列

martin 2 éve
szülő
commit
c01908f514

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

@@ -147,14 +147,14 @@ public class ProjectConsumer {
 
         String projectId = projectMessageDTO.getProjectId();
         int parallelism = projectMessageDTO.getParallelism();  // 期望并行度
+        int parallelismSum; //实际可用并行度
         //1 获取所有节点的剩余可用并行度
         Map<String, Integer> nodeMap = projectUtil.getNodeMapToUse(parallelism);
         if (CollectionUtil.isEmpty(nodeMap)) {
-            return;
+            parallelismSum = 0;
+        } else {
+            parallelismSum = nodeMap.keySet().stream().mapToInt(nodeMap::get).sum();
         }
-        //2 计算实际可用并行度
-        int parallelismSum = nodeMap.keySet().stream().mapToInt(nodeMap::get).sum();
-
         //2 判断剩余可用并行度是否大于项目并行度,否则加入扩充队列
         if (parallelismSum > 0L) {
             log.info("ProjectConsumer--run 集群 " + clusterId + " 将项目 " + projectId + "在节点 " + nodeMap + " 上以并行度 " + parallelismSum + " 执行!");