| @@ -372,6 +372,25 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { | |||||
| if (errCode != null && errCode == 0) { | if (errCode != null && errCode == 0) { | ||||
| //更新experimentIns,确保状态更新被保存到数据库 | //更新experimentIns,确保状态更新被保存到数据库 | ||||
| ExperimentIns ins = queryStatusFromArgo(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 (!"Succeeded".equals(phaseValue)) { | |||||
| innerMap.put("phase", "Failed"); | |||||
| } | |||||
| } | |||||
| } | |||||
| ins.setNodesStatus(JsonUtils.mapToJson(nodeMap)); | |||||
| ins.setStatus("Terminated"); | ins.setStatus("Terminated"); | ||||
| ins.setFinishTime(new Date()); | ins.setFinishTime(new Date()); | ||||
| this.experimentInsDao.update(ins); | this.experimentInsDao.update(ins); | ||||