martin 3 роки тому
батько
коміт
8a0a150f9b

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

@@ -29,6 +29,7 @@ import org.springframework.stereotype.Component;
 import java.io.IOException;
 import java.util.List;
 import java.util.Set;
+import java.util.stream.Collectors;
 
 @Component
 @Slf4j
@@ -89,11 +90,15 @@ public class ProjectScheduler {
             }
             int simulationLicenseNumber = clusterPO.getNumSimulationLicense();
             // 获取该用户正在运行的项目数量
-            Set<String> runningProjectSet = redisTemplate.keys(redisPrefix.getClusterRunningPrefix() + "*");
-
+            Set<String> keySet = redisTemplate.keys(redisPrefix.getClusterRunningPrefix() + "*");
+            if (CollectionUtil.isEmpty(keySet)) {
+                log.error("ProjectScheduler--dispatchProject 正在运行的项目 " + projectId + " 没有对应的缓存数据!");
+                return;
+            }
+            // cluster:${clusterId}:running:${projectId}
+            List<String> runningProjectSet = keySet.stream().filter(key -> StringUtil.countSubString(key, ":") == 3).collect(Collectors.toList());
             if (CollectionUtil.isNotEmpty(runningProjectSet)) {
                 long parallelismSum = 0;
-                // cluster:${clusterId}:running:${projectId}
                 for (String runningProjectKey : runningProjectSet) {
                     parallelismSum += JsonUtil.jsonToBean(redisTemplate.opsForValue().get(runningProjectKey), ProjectMessageDTO.class).getParallelism();
                 }

+ 3 - 0
simulation-resource-scheduler/src/main/resources/logback-spring.xml

@@ -7,6 +7,9 @@
     <springProfile name="aliyun">
         <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-scheduler/log"/>
     </springProfile>
+    <springProfile name="aliyun">
+        <property name="LOG_HOME" value="/opt/simulation-cloud/simulation-resource-scheduler-test/log"/>
+    </springProfile>
 
     <!--输出到控制台-->
     <appender name="console" class="ch.qos.logback.core.ConsoleAppender">