|
@@ -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";
|