martin před 2 roky
rodič
revize
9483677c42

+ 12 - 21
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/manager/TaskManager.java

@@ -2,7 +2,6 @@ package com.css.simulation.resource.scheduler.manager;
 
 import api.common.pojo.constants.DictConstants;
 import api.common.util.*;
-import com.css.simulation.resource.scheduler.mapper.ClusterMapper;
 import com.css.simulation.resource.scheduler.mapper.IndexMapper;
 import com.css.simulation.resource.scheduler.mapper.ManualProjectMapper;
 import com.css.simulation.resource.scheduler.mapper.TaskMapper;
@@ -25,13 +24,13 @@ import org.apache.http.client.config.RequestConfig;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.sshd.client.SshClient;
 import org.apache.sshd.client.session.ClientSession;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.kafka.core.KafkaTemplate;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.io.IOException;
 import java.util.*;
 import java.util.concurrent.atomic.AtomicReference;
@@ -56,29 +55,27 @@ public class TaskManager {
     String evaluationLevelUri;
     @Value("${scheduler.minio-path.project-result}")
     String resultPathMinio;
-    @Autowired
-    ClusterMapper clusterMapper;
-    @Autowired
+    @Resource
     StringRedisTemplate stringRedisTemplate;
-    @Autowired
+    @Resource
     TaskMapper taskMapper;
-    @Autowired
+    @Resource
     MinioClient minioClient;
-    @Autowired
+    @Resource
     ManualProjectMapper manualProjectMapper;
-    @Autowired
+    @Resource
     KafkaTemplate<String, String> kafkaTemplate;
-    @Autowired
+    @Resource
     TaskIndexManager taskIndexManager;
-    @Autowired
+    @Resource
     IndexMapper indexMapper;
-    @Autowired
+    @Resource
     CloseableHttpClient closeableHttpClient;
-    @Autowired
+    @Resource
     RequestConfig requestConfig;
-    @Autowired
+    @Resource
     ProjectUtil projectUtil;
-    @Autowired
+    @Resource
     ApiClient apiClient;
 
     @SneakyThrows
@@ -429,12 +426,6 @@ public class TaskManager {
             log.error("TaskService--taskState 前缀为 " + redisPrefix.getProjectRunningKey() + " 的 key 为空!");
         }
 
-        // 删除所有 key
-//        Set<String> keys = redisTemplate.keys("manualProject:" + projectId + "*");
-//        assert keys != null;
-//        redisTemplate.delete(keys);
-//        log.info("------- /state 任务 " + taskId + " 的父项目为:" + projectId);
-
 
         // 删除 kafka topic
 //        SshClient clientKafka = SshUtil.getClient();

+ 0 - 5
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/AutoSubProjectMapper.java

@@ -11,11 +11,6 @@ import java.sql.Timestamp;
 @Mapper
 public interface AutoSubProjectMapper {
 
-    @Update("update simulation_automatic_subproject\n" +
-            "set now_run_state  = #{state}\n" +
-            "where id = #{id}")
-    void updateProjectStateById(@Param("subProjectId") String subProjectId, @Param("nowRunState") String nowRunState);
-
 
     @Select("select create_user_id\n" +
             "from simulation_automatic_subproject\n" +

+ 2 - 2
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/mapper/VehicleMapper.java

@@ -8,7 +8,7 @@ import org.apache.ibatis.type.JdbcType;
 public interface VehicleMapper {
 
     @Results(id = "vehicle", value = {
-            @Result(column = "vehicle_model", property = "modelLabel", jdbcType = JdbcType.VARCHAR),
+            @Result(column = "model_label", property = "modelLabel", jdbcType = JdbcType.VARCHAR),
             @Result(column = "max_speed", property = "maxSpeed", jdbcType = JdbcType.DECIMAL),
             @Result(column = "engine_power", property = "enginePower", jdbcType = JdbcType.DECIMAL),
             @Result(column = "max_deceleration", property = "maxDeceleration", jdbcType = JdbcType.DECIMAL),
@@ -27,7 +27,7 @@ public interface VehicleMapper {
             @Result(column = "height_distance", property = "heightDistance", jdbcType = JdbcType.DECIMAL),
             @Result(column = "wheelbase", property = "wheelbase", jdbcType = JdbcType.DECIMAL),
     })
-    @Select("select vehicle_model,\n" +
+    @Select("select model_label,\n" +
             "       max_speed,\n" +
             "       engine_power,\n" +
             "       max_deceleration,\n" +

+ 23 - 21
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/service/ProjectService.java

@@ -20,15 +20,18 @@ import org.apache.http.client.config.RequestConfig;
 import org.apache.http.impl.client.CloseableHttpClient;
 import org.apache.sshd.client.SshClient;
 import org.apache.sshd.client.session.ClientSession;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.kafka.core.KafkaTemplate;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import javax.annotation.Resource;
 import java.io.InputStream;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
 import java.util.stream.Collectors;
 
 @Service
@@ -47,35 +50,33 @@ public class ProjectService {
     String username;
     @Value("${scheduler.host.password}")
     String password;
-
-    // -------------------------------- Comment --------------------------------
-    @Autowired
+    @Resource
     StringRedisTemplate stringRedisTemplate;
-    @Autowired
+    @Resource
     KafkaTemplate<String, String> kafkaTemplate;
-    @Autowired
+    @Resource
     CloseableHttpClient closeableHttpClient;
-    @Autowired
+    @Resource
     RequestConfig requestConfig;
-    @Autowired
+    @Resource
     MinioClient minioClient;
-    @Autowired
+    @Resource
     ManualProjectMapper manualProjectMapper;
-    @Autowired
+    @Resource
     AutoSubProjectMapper autoSubProjectMapper;
-    @Autowired
+    @Resource
     TaskMapper taskMapper;
-    @Autowired
+    @Resource
     IndexTemplateMapper indexTemplateMapper;
-    @Autowired
+    @Resource
     IndexMapper indexMapper;
-    @Autowired
+    @Resource
     SceneMapper sceneMapper;
-    @Autowired
+    @Resource
     AlgorithmMapper algorithmMapper;
-    @Autowired
+    @Resource
     ApiClient apiClient;
-    @Autowired
+    @Resource
     ProjectUtil projectUtil;
 
     // -------------------------------- Comment --------------------------------
@@ -271,7 +272,6 @@ public class ProjectService {
             ObjectMapper objectMapper = new ObjectMapper();
             JsonNode jsonNode = objectMapper.readTree(result);
             JsonNode dataNode = jsonNode.path("data");
-
             String token = dataNode.path("access_token").asText();
 
             /*
@@ -354,7 +354,7 @@ public class ProjectService {
         log.info("ProjectConsumer--transferYaml 项目 " + projectId + " 的完成度为:" + completions);
         log.info("ProjectConsumer--transferYaml 项目 " + projectId + " 的并行度为:" + parallelism);
         String yamlSource = FileUtil.read(jobTemplateYamlPathSource);
-        log.info("ProjectConsumer--transferYaml 模板文件为:" + yamlSource);
+//        log.info("ProjectConsumer--transferYaml 模板文件为:" + yamlSource);
         String replace0 = yamlSource.replace("job-cloud-simulation", "project-" + projectId);
         String replace1 = replace0.replace("vtd-container", "vtd-" + projectId);
         String replace2 = replace1.replace("algorithm-container", "algorithm-" + projectId);
@@ -381,7 +381,7 @@ public class ProjectService {
             }
         }
         String finalYaml = replace8.replace("node-name", minNodeName);
-        log.info("ProjectConsumer--parseManualProject 开始执行 yaml 文件" + finalYaml);
+        log.info("ProjectConsumer--parseManualProject 在节点 " + minNodeName + " 开始执行 job:" + finalYaml);
         FileUtil.writeStringToLocalFile(finalYaml, jobTemplateYamlPathTarget);
         //  启动
         KubernetesUtil.applyYaml(hostname, username, password, jobTemplateYamlPathTarget);
@@ -403,4 +403,6 @@ public class ProjectService {
             }
         }
     }
+
+
 }

+ 10 - 34
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/service/TaskService.java

@@ -2,57 +2,42 @@ package com.css.simulation.resource.scheduler.service;
 
 import api.common.util.SshUtil;
 import com.css.simulation.resource.scheduler.manager.TaskManager;
-import com.css.simulation.resource.scheduler.mapper.IndexTemplateMapper;
-import com.css.simulation.resource.scheduler.mapper.ManualProjectMapper;
 import com.css.simulation.resource.scheduler.mapper.TaskMapper;
 import com.css.simulation.resource.scheduler.pojo.po.TaskPO;
 import com.css.simulation.resource.scheduler.pojo.to.PrefixTO;
 import com.css.simulation.resource.scheduler.util.ProjectUtil;
-import io.minio.MinioClient;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.sshd.client.SshClient;
 import org.apache.sshd.client.session.ClientSession;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 @Service
 @Slf4j
 public class TaskService {
 
-
-    @Value("${minio.bucket-name}")
-    String bucketName;
     @Value("${scheduler.host.hostname}")
     String hostname;
     @Value("${scheduler.host.username}")
     String username;
     @Value("${scheduler.host.password}")
     String password;
-    @Value("${spring.kafka.delete-command}")
-    String kafkaDeleteCommand;
-    // -------------------------------- Comment --------------------------------
-
-    @Autowired
-    StringRedisTemplate stringRedisTemplate;
-    @Autowired
+    @Resource
     TaskManager taskManager;
-    @Autowired
-    IndexTemplateMapper indexTemplateMapper;
-    @Autowired
-    MinioClient minioClient;
-    @Autowired
+    @Resource
     TaskMapper taskMapper;
-    @Autowired
-    ManualProjectMapper manualProjectMapper;
-    @Autowired
+    @Resource
     ProjectUtil projectUtil;
 
+    // -------------------------------- Comment --------------------------------
 
     @SneakyThrows
     public void taskState(String taskId, String state, String podName) {
+        SshClient sshClient = SshUtil.getClient();
+        ClientSession clientSession = SshUtil.getSession(sshClient, hostname, username, password);
         log.info("TaskService--state 接收到参数为:taskId=" + taskId + ",state=" + state + ",podName=" + podName);
         TaskPO taskPO = taskMapper.selectById(taskId);
         if (taskPO == null) {
@@ -62,8 +47,6 @@ public class TaskService {
         String projectId = taskPO.getPId();
         String userId = taskPO.getCreateUserId();
         PrefixTO redisPrefix = projectUtil.getRedisPrefixByUserIdAndProjectIdAndTaksId(userId, projectId, taskId);
-        SshClient sshClient = SshUtil.getClient();
-        ClientSession clientSession = SshUtil.getSession(sshClient, hostname, username, password);
         //1 判断项目是否已完成
         boolean projectCompleted = taskManager.isProjectCompleted(redisPrefix, projectId, taskId, state, podName);
         if (!projectCompleted) {
@@ -71,21 +54,14 @@ public class TaskService {
             sshClient.stop();
             return;
         }
-
         //2 准备打分
         log.info("TaskService--taskState 项目 " + projectId + "准备打分!");
         taskManager.prepareScore(redisPrefix.getProjectRunningKey());
-
         //3 打分
         taskManager.score(redisPrefix, userId, projectId, clientSession);
-
-        // -------------------------------- 收尾 --------------------------------
-
-        taskManager.done(redisPrefix,sshClient, clientSession, projectId);
+        //4 结束
+        taskManager.done(redisPrefix, sshClient, clientSession, projectId);
         log.info("TaskService--taskState 项目 " + projectId + " 执行完成!");
-
-
-
     }