فهرست منبع

归还并行度

martin 2 سال پیش
والد
کامیت
13e614dd5b

+ 2 - 1
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/manager/TaskManager.java

@@ -15,6 +15,7 @@ import com.css.simulation.resource.scheduler.pojo.to.PrefixTO;
 import com.css.simulation.resource.scheduler.pojo.to.ScoreTO;
 import com.css.simulation.resource.scheduler.util.MinioUtil;
 import com.css.simulation.resource.scheduler.util.ProjectUtil;
+import com.css.simulation.resource.scheduler.util.RedisUtil;
 import com.fasterxml.jackson.databind.JsonNode;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import io.minio.MinioClient;
@@ -432,7 +433,7 @@ public class TaskManager {
 
 
         // 归还并行度
-        Set<String> nodeOfPodKeySet = stringRedisTemplate.keys("pod:project-" + projectId);
+        Set<String> nodeOfPodKeySet = RedisUtil.getKeySetByPrefix(stringRedisTemplate, "pod:project-" + projectId);
         for (String nodeOfPodKey : nodeOfPodKeySet) {
             String podName = nodeOfPodKey.split(":")[1];
             String nodeName = projectUtil.getNodeNameOfPod(podName);

+ 7 - 8
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/ProjectUtil.java

@@ -64,18 +64,17 @@ public class ProjectUtil {
     ApiClient apiClient;
 
 
-
-
-
     public String getRandomPodName(String projectId) {
         return "project-" + projectId + "-" + StringUtil.getRandomEightBitUUID();
     }
 
     @SneakyThrows
     public void deletePod(String podName) {
+        String key = "pod:" + podName + ":node";
         // 先删除 redis key
-        stringRedisTemplate.delete("pod:" + podName + ":node");
+        RedisUtil.deleteByKey(stringRedisTemplate, "pod:" + podName + ":node");
         KubernetesUtil.deletePod(apiClient, kubernetesNamespace, podName);
+        log.info("ProjectUtil--deletePod 删除 pod 并删除 redis 键值对:" + key);
     }
 
     public String getNodeNameOfPod(String podName) {
@@ -84,9 +83,8 @@ public class ProjectUtil {
 
 
     /**
-     *
-     * @param nodeName 节点名称
-     * @param podName pod 名称
+     * @param nodeName       节点名称
+     * @param podName        pod 名称
      * @param podYamlContent pod 文件内容
      */
     @SneakyThrows
@@ -225,7 +223,7 @@ public class ProjectUtil {
                 }
             }
         }
-        log.info("ProjectUtil--getNodeMapToUse 即将使用节点为:" + resultNodeMap);
+        log.info("ProjectUtil--getNodeMapToUse 即将使用节点的并行度为:" + resultNodeMap);
         return resultNodeMap;
     }
 
@@ -395,5 +393,6 @@ public class ProjectUtil {
         String parallelismString = stringRedisTemplate.opsForValue().get(key);
         int parallelism = Integer.parseInt(parallelismString);
         stringRedisTemplate.opsForValue().set(key, (parallelism + 1) + "");
+        log.info("ProjectUtil--addOneParallelismToNode 归还并行度从 " + parallelism + " 加一。");
     }
 }

+ 17 - 0
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/util/RedisUtil.java

@@ -0,0 +1,17 @@
+package com.css.simulation.resource.scheduler.util;
+
+import org.springframework.data.redis.core.StringRedisTemplate;
+
+import java.util.Set;
+
+public class RedisUtil {
+
+    public static void deleteByKey(StringRedisTemplate stringRedisTemplate,String key){
+        stringRedisTemplate.delete(key);
+    }
+
+    public static Set<String> getKeySetByPrefix(StringRedisTemplate stringRedisTemplate, String prefix) {
+        return stringRedisTemplate.keys(prefix + "*");
+    }
+
+}