From 590c7de3140b5ad08ce3ece9032c7859d10ca098 Mon Sep 17 00:00:00 2001 From: fans <1141904845@qq.com> Date: Sat, 27 Jan 2024 10:30:11 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E5=AE=9E=E4=BE=8B?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E7=9A=84=E5=AE=9E=E4=BE=8B=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E5=88=97=E8=A1=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/platform/domain/Experiment.java | 8 +++++ .../impl/ExperimentInsServiceImpl.java | 18 ++++++++++- .../ExperimentDaoMapper.xml | 31 +++++++++++++------ 3 files changed, 47 insertions(+), 10 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Experiment.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Experiment.java index a92188f4..222e8fa5 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Experiment.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/Experiment.java @@ -33,6 +33,8 @@ public class Experiment implements Serializable { */ @ApiModelProperty(name = "global_param") private String globalParam; + + private String statusList; /** * 简介 */ @@ -100,7 +102,13 @@ public class Experiment implements Serializable { this.globalParam = globalParam; } + public String getStatusList() { + return statusList; + } + public void setStatusList(String statusList) { + this.statusList = statusList; + } public String getCreateBy() { return createBy; diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java index 3aeb7e40..f27b7797 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java @@ -1,6 +1,7 @@ package com.ruoyi.platform.service.impl; import com.ruoyi.common.security.utils.SecurityUtils; +import com.ruoyi.platform.domain.Experiment; import com.ruoyi.platform.domain.ExperimentIns; import com.ruoyi.platform.mapper.ExperimentDao; import com.ruoyi.platform.mapper.ExperimentInsDao; @@ -80,13 +81,17 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { @Override public List getByExperimentId(Integer experimentId) throws IOException { List experimentInsList = experimentInsDao.getByExperimentId(experimentId); - + //搞个标记,当状态改变才去改表 + boolean flag = false; List result = new ArrayList(); if (experimentInsList!=null&&experimentInsList.size()>0) { for (ExperimentIns experimentIns : experimentInsList) { //当原本状态为null或非终止态时才调用argo接口 if (experimentIns != null && (StringUtils.isEmpty(experimentIns.getStatus())) || !isTerminatedState(experimentIns)) { experimentIns = this.queryStatusFromArgo(experimentIns); + if (!flag){ + flag = true; + } //只有当新状态是终止态时才更新数据库 if (isTerminatedState(experimentIns)) { //同时更新各个节点 @@ -97,6 +102,17 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { } } + if (flag) { + List statusList = new ArrayList(); + // 更新实验状态列表 + for (int i=0;i + @@ -18,7 +19,7 @@ @@ -26,7 +27,7 @@ select - id,name, workflow_id, global_param, description, create_by, create_time, update_by, update_time, state + id,name, workflow_id, global_param, status_list, description, create_by, create_time, update_by, update_time, state from experiment state = 1 @@ -79,6 +83,9 @@ and global_param = #{experiment.globalParam} + + status_list = #{experiment.statusList}, + and description = #{experiment.description} @@ -117,6 +124,9 @@ and global_param = #{experiment.globalParam} + + status_list = #{experiment.statusList}, + and description = #{experiment.description} @@ -137,24 +147,24 @@ - insert into experiment(name,workflow_id, global_param, description, create_by, create_time, update_by, update_time, state) - values (#{name},#{workflowId}, #{globalParam}, #{description}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{state}) + insert into experiment(name,workflow_id, global_param, status_list, description, create_by, create_time, update_by, update_time, state) + values (#{name},#{workflowId}, #{globalParam},#{entity.statusList}, #{description}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{state}) - insert into experiment(name,workflow_id, global_param, description, create_by, create_time, update_by, update_time, state) + insert into experiment(name,workflow_id, global_param, status_list, description, create_by, create_time, update_by, update_time, state) values - (#{entity.name},#{entity.workflowId}, #{entity.globalParam}, #{entity.description}, #{entity.createBy}, #{entity.createTime}, + (#{entity.name},#{entity.workflowId}, #{entity.globalParam},#{entity.statusList}, #{entity.description}, #{entity.createBy}, #{entity.createTime}, #{entity.updateBy}, #{entity.updateTime}, #{entity.state}) - insert into experiment(name,workflow_id, global_param, description, create_by, create_time, update_by, update_time, state) + insert into experiment(name,workflow_id, global_param, status_list, description, create_by, create_time, update_by, update_time, state) values - (#{entity.name},#{entity.workflowId}, #{entity.globalParam}, #{entity.description}, #{entity.createBy}, #{entity.createTime}, + (#{entity.name},#{entity.workflowId}, #{entity.globalParam}, #{entity.statusList}, #{entity.description}, #{entity.createBy}, #{entity.createTime}, #{entity.updateBy}, #{entity.updateTime}, #{entity.state}) on duplicate key update @@ -182,6 +192,9 @@ global_param = #{globalParam}, + + status_list = #{statusList}, + description = #{description}, From c0cb78786a5a90b268a53539609e8c6c1dce8303 Mon Sep 17 00:00:00 2001 From: fans <1141904845@qq.com> Date: Sat, 27 Jan 2024 14:51:16 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9error=E4=B8=BAfailed?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/platform/service/impl/ExperimentInsServiceImpl.java | 4 +++- .../mapper/managementPlatform/ExperimentDaoMapper.xml | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java index f27b7797..be1752ed 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java @@ -283,7 +283,9 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { if (!StringUtils.equals(experimentIns.getStatus(),"Terminated")) { experimentIns.setStatus(StringUtils.isNotEmpty((String) status.get("phase"))?(String) status.get("phase"):"Pending"); } - + if (StringUtils.equals(experimentIns.getStatus(),"Error")) { + experimentIns.setStatus("Failed"); + } return experimentIns; diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentDaoMapper.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentDaoMapper.xml index 33806863..d0ae5dbc 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentDaoMapper.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentDaoMapper.xml @@ -148,7 +148,7 @@ insert into experiment(name,workflow_id, global_param, status_list, description, create_by, create_time, update_by, update_time, state) - values (#{name},#{workflowId}, #{globalParam},#{entity.statusList}, #{description}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{state}) + values (#{name},#{workflowId}, #{globalParam},#{statusList}, #{description}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{state}) From 4b171cf70855f2d1344d0dafed3d9b313f84c23e Mon Sep 17 00:00:00 2001 From: fans <1141904845@qq.com> Date: Sat, 27 Jan 2024 15:53:32 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E6=94=B9statusList=E5=88=97?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ruoyi/platform/service/impl/ExperimentInsServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java index be1752ed..600b4353 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java @@ -109,7 +109,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { statusList.add(result.get(i).getStatus()); } Experiment experiment = experimentDao.queryById(experimentId); - experiment.setStatusList(statusList.toString()); + experiment.setStatusList(statusList.toString().substring(1, statusList.toString().length()-1)); experimentDao.update(experiment); }