root 2 роки тому
батько
коміт
0cf803986b

+ 4 - 3
simulation-resource-scheduler/src/main/java/com/css/simulation/resource/scheduler/manager/TaskManager.java

@@ -34,6 +34,7 @@ import org.springframework.transaction.annotation.Transactional;
 import javax.annotation.Resource;
 import java.io.IOException;
 import java.util.*;
+import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicReference;
 import java.util.stream.Collectors;
 
@@ -170,7 +171,6 @@ public class TaskManager {
     }
 
     @SneakyThrows
-    @Transactional
     public void score(PrefixTO redisPrefix, String userId, String projectId, String projectType, ClientSession session) {
         // -------------------------------- 打分 --------------------------------
         ProjectPO projectPO = null;
@@ -180,7 +180,8 @@ public class TaskManager {
             projectPO = autoSubProjectMapper.selectById(projectId);
         }
         String packageId = projectPO.getScenePackageId();  // 场景测试包 id,指标的rootId
-        List<TaskPO> taskList = taskMapper.selectTaskListByProjectId(projectId);  // 所有任务信息
+        TimeUnit.SECONDS.sleep(10); // 先等一下数据库更新
+        List<TaskPO> taskList  = taskMapper.selectTaskListByProjectId(projectId);  // 所有任务信息
         if (CollectionUtil.isEmpty(taskList)) {
             log.error("TaskManager--score 项目 " + projectId + " 下没有查询到任务!");
             return;
@@ -226,7 +227,7 @@ public class TaskManager {
                     String runState = taskOfLeaf.getRunState();
                     log.info("TaskManager--score 任务 " + task2Id + " 的运行状态为:" + runState);
                     // 加上 running 时因为事务原因,初期没有考虑到
-                    if (DictConstants.TASK_ANALYSIS.equals(runState) || DictConstants.TASK_RUNNING.equals(runState)) {
+                    if (DictConstants.TASK_ANALYSIS.equals(runState)) {
                         taskMapper.updateSuccessStateWithStopTime(task2Id, DictConstants.TASK_ANALYSING, TimeUtil.getNowForMysql());
                         // 计算每个任务的得分
                         String result1OfMinio = taskOfLeaf.getRunResultFilePath() + "/Ego.csv";