소스 검색

项目中止

martin 2 년 전
부모
커밋
bf66fa90fd
1개의 변경된 파일11개의 추가작업 그리고 3개의 파일을 삭제
  1. 11 3
      simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/service/ProjectService.java

+ 11 - 3
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/service/ProjectService.java

@@ -395,10 +395,18 @@ public class ProjectService {
     @SneakyThrows
     public void stopProject(String projectId, String projectType) {
         //2 根据 pod 前缀删除所有 pod
-        String prefix = "project-" + projectId;
-        KubernetesUtil.deleteJob(apiClient, kubernetesNamespace, prefix);
+        String podPrefix = "project-" + projectId;
+        Set<String> nodeOfPodKeySet = RedisUtil.getKeySetByPrefix(stringRedisTemplate, "pod:" + podPrefix);
+        for (String nodeOfPodKey : nodeOfPodKeySet) {
+            String podName = nodeOfPodKey.split(":")[1];
+            String nodeName = projectUtil.getNodeNameOfPod(podName);
+            // 删除 pod
+            projectUtil.deletePod(podName);
+            // 节点并行度加一
+            projectUtil.addOneParallelismToNode(nodeName);
+        }
 
-        //3 删除所有 redis key
+        //3 其他 redis key
         PrefixTO redisPrefix = projectUtil.getRedisPrefixByProjectIdAndProjectType(projectId, projectType);
         RedisUtil.deleteByPrefix(stringRedisTemplate, redisPrefix.getProjectRunningKey());
         RedisUtil.deleteByPrefix(stringRedisTemplate, redisPrefix.getProjectWaitingKey());