终止态判断
This commit is contained in:
parent
5fbcf880ed
commit
8498ed3b31
|
@ -65,8 +65,8 @@ public class ExperimentInsServiceImpl implements ExperimentInsService {
|
|||
//获取实例当前状态
|
||||
String currentStatus = experimentIns.getStatus();
|
||||
|
||||
// 检查是否需要调用接口查询状态:当原本状态为null或running或Pending时调用argo接口
|
||||
if (StringUtils.isEmpty(currentStatus) || StringUtils.equals(currentStatus, "Running") || StringUtils.equals(currentStatus,"Pending")) {
|
||||
// 检查是否需要调用接口查询状态:当原本状态为null或非终止态时调用argo接口
|
||||
if (StringUtils.isEmpty(currentStatus) || !isTerminatedState(currentStatus)) {
|
||||
String newStatus = this.queryStatusFromArgo(experimentIns.getArgoInsNs(), experimentIns.getArgoInsName(), id );
|
||||
|
||||
// 如果新状态不是null,并且与旧状态不同,则更新状态
|
||||
|
@ -91,12 +91,12 @@ public class ExperimentInsServiceImpl implements ExperimentInsService {
|
|||
public List<ExperimentIns> getByExperimentId(Integer experimentId) {
|
||||
List<ExperimentIns> experimentInsList = experimentInsDao.getByExperimentId(experimentId);
|
||||
for (ExperimentIns experimentIns: experimentInsList) {
|
||||
if ( experimentIns!=null && (StringUtils.isEmpty(experimentIns.getStatus())) || StringUtils.equals(experimentIns.getStatus(), "Running") || StringUtils.equals(experimentIns.getStatus(),"Pending")) {
|
||||
// //当原本状态为null或running或Pending时才调用argo接口
|
||||
//当原本状态为null或非终止态时才调用argo接口
|
||||
if ( experimentIns!=null && (StringUtils.isEmpty(experimentIns.getStatus())) || !isTerminatedState(experimentIns.getStatus())) {
|
||||
String newStatus = this.queryStatusFromArgo(experimentIns.getArgoInsNs(), experimentIns.getArgoInsName(),experimentIns.getId());
|
||||
experimentIns.setStatus(newStatus);
|
||||
//只有当新状态是终止态时才更新数据库
|
||||
if (!(StringUtils.equals(newStatus, "Running") || StringUtils.equals(newStatus,"Pending"))) {
|
||||
if (isTerminatedState(newStatus)) {
|
||||
this.update(experimentIns);
|
||||
}
|
||||
}
|
||||
|
@ -393,4 +393,10 @@ public class ExperimentInsServiceImpl implements ExperimentInsService {
|
|||
}
|
||||
}
|
||||
|
||||
private boolean isTerminatedState(String state) {
|
||||
// 定义终止态的列表,例如 "Succeeded", "Failed" 等
|
||||
List<String> terminatedStates = Arrays.asList("Succeeded", "Failed", "Terminated");
|
||||
return terminatedStates.contains(state);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue