|
|
|
@@ -372,6 +372,25 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { |
|
|
|
if (errCode != null && errCode == 0) { |
|
|
|
//更新experimentIns,确保状态更新被保存到数据库 |
|
|
|
ExperimentIns ins = queryStatusFromArgo(experimentIns); |
|
|
|
String nodesStatus = ins.getNodesStatus(); |
|
|
|
Map<String, Object> nodeMap = JsonUtils.jsonToMap(nodesStatus); |
|
|
|
|
|
|
|
// 遍历 map |
|
|
|
for (Map.Entry<String, Object> entry : nodeMap.entrySet()) { |
|
|
|
// 获取每个 Map 中的值并强制转换为 Map |
|
|
|
Map<String, Object> innerMap = (Map<String, Object>) entry.getValue(); |
|
|
|
|
|
|
|
// 检查 phase 的值 |
|
|
|
if (innerMap.containsKey("phase")) { |
|
|
|
String phaseValue = (String) innerMap.get("phase"); |
|
|
|
|
|
|
|
// 如果值不等于 Succeeded,则赋值为 Failed |
|
|
|
if (!StringUtils.equals("Succeeded", phaseValue)) { |
|
|
|
innerMap.put("phase", "Failed"); |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
ins.setNodesStatus(JsonUtils.mapToJson(nodeMap)); |
|
|
|
ins.setStatus("Terminated"); |
|
|
|
ins.setFinishTime(new Date()); |
|
|
|
this.experimentInsDao.update(ins); |
|
|
|
|