Browse Source

把状态刷新改成job

pull/41/head
fanshuai 1 year ago
parent
commit
9d8a3f8918
5 changed files with 56 additions and 34 deletions
  1. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentDao.java
  2. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java
  3. +6
    -6
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java
  4. +17
    -16
      ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentDaoMapper.xml
  5. +31
    -10
      ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml

+ 1
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentDao.java View File

@@ -62,7 +62,7 @@ public interface ExperimentDao {
* @return 影响行数 * @return 影响行数
* @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参 * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
*/ */
int insertOrUpdateBatch(@Param("entities") List<Experiment> entities);
int insertOrUpdateBatch(List<Experiment> entities);


/** /**
* 修改数据 * 修改数据


+ 1
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ExperimentInsDao.java View File

@@ -62,7 +62,7 @@ public interface ExperimentInsDao {
* @return 影响行数 * @return 影响行数
* @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参 * @throws org.springframework.jdbc.BadSqlGrammarException 入参是空List的时候会抛SQL语句错误的异常,请自行校验入参
*/ */
int insertOrUpdateBatch(@Param("entities") List<ExperimentIns> entities);
int insertOrUpdateBatch(List<ExperimentIns> entities);


/** /**
* 修改数据 * 修改数据


+ 6
- 6
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/scheduling/ExperimentInstanceStatusTask.java View File

@@ -47,9 +47,7 @@ public class ExperimentInstanceStatusTask {
} }
if (!StringUtils.equals(oldStatus,experimentIns.getStatus())){ if (!StringUtils.equals(oldStatus,experimentIns.getStatus())){
experimentIns.setUpdateTime(new Date()); experimentIns.setUpdateTime(new Date());
if (!experimentIds.contains(experimentIns.getExperimentId())){
experimentIds.add(experimentIns.getExperimentId());
}
experimentIds.add(experimentIns.getExperimentId());
updateList.add(experimentIns); updateList.add(experimentIns);
} }
experimentInsDao.update(experimentIns); experimentInsDao.update(experimentIns);
@@ -76,13 +74,15 @@ public class ExperimentInstanceStatusTask {
String subStatus = statusList.toString().substring(1, statusList.toString().length() - 1); String subStatus = statusList.toString().substring(1, statusList.toString().length() - 1);
Experiment experiment = experimentDao.queryById(experimentId); Experiment experiment = experimentDao.queryById(experimentId);
if (!StringUtils.equals(subStatus,experiment.getStatusList())){ if (!StringUtils.equals(subStatus,experiment.getStatusList())){
experiment.setStatusList(subStatus);
updateexperiments.add(experiment); updateexperiments.add(experiment);
} }
} }
if (updateexperiments.size() > 0){
if (updateexperiments.size() > 0) {
experimentDao.insertOrUpdateBatch(updateexperiments); experimentDao.insertOrUpdateBatch(updateexperiments);
for (int index = 0; index < updateexperiments.size(); index++) {
experimentIds.remove(index);
}
} }
experimentIds.clear();
System.out.println(experimentIds);
} }
} }

+ 17
- 16
ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentDaoMapper.xml View File

@@ -160,24 +160,25 @@
</foreach> </foreach>
</insert> </insert>


<insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
insert into experiment(name,workflow_id, global_param, status_list, description, create_by, create_time, update_by, update_time, state)
<update id="insertOrUpdateBatch">
insert into experiment (id, name, workflow_id, global_param, status_list, description, create_by, create_time, update_by, update_time, state)
values values
<foreach collection="entities" item="entity" separator=",">
(#{entity.name},#{entity.workflowId}, #{entity.globalParam}, #{entity.statusList}, #{entity.description}, #{entity.createBy}, #{entity.createTime},
#{entity.updateBy}, #{entity.updateTime}, #{entity.state})
<foreach collection="list" item="item" index="index" separator=",">
(#{item.id}, #{item.name}, #{item.workflowId}, #{item.globalParam}, #{item.statusList}, #{item.description}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.state})
</foreach> </foreach>
on duplicate key update
name=values(name),
workflow_id = values(workflow_id),
global_param = values(global_param),
description = values(description),
create_by = values(create_by),
create_time = values(create_time),
update_by = values(update_by),
update_time = values(update_time),
state = values(state)
</insert>
ON DUPLICATE KEY UPDATE
name = VALUES(name),
workflow_id = VALUES(workflow_id),
global_param = VALUES(global_param),
status_list = VALUES(status_list),
description = VALUES(description),
create_by = VALUES(create_by),
create_time = VALUES(create_time),
update_by = VALUES(update_by),
update_time = VALUES(update_time),
state = VALUES(state);
</update>



<!--通过主键修改数据--> <!--通过主键修改数据-->
<update id="update"> <update id="update">


+ 31
- 10
ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ExperimentInsDaoMapper.xml View File

@@ -223,18 +223,39 @@
</foreach> </foreach>
</insert> </insert>


<insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">
insert into
experiment_ins(experiment_id,argo_ins_name,argo_ins_ns,status,nodes_status,nodes_result,start_time,finish_time,create_by,create_time,update_by,update_time,state)
<!-- <insert id="insertOrUpdateBatch" keyProperty="id" useGeneratedKeys="true">-->
<!-- insert into-->
<!-- experiment_ins(experiment_id,argo_ins_name,argo_ins_ns,status,nodes_status,nodes_result,start_time,finish_time,create_by,create_time,update_by,update_time,state)-->
<!-- values-->
<!-- <foreach collection="entities" item="entity" separator=",">-->
<!-- (#{entity.experimentId},#{entity.argoInsName},#{entity.argoInsNs},#{entity.status},#{entity.nodesStatus},#{entity.nodesResult},#{entity.startTime},#{entity.finishTime},#{entity.createBy},#{entity.createTime},#{entity.updateBy},#{entity.updateTime},#{entity.state})-->
<!-- </foreach>-->
<!-- on duplicate key update-->
<!-- experiment_id = values(experiment_id)argo_ins_name = values(argo_ins_name)argo_ins_ns = values(argo_ins_ns)status = values(status) nodes_status = values(nodes_status) create_by = values(create_by)create_time = values(create_time)update_by = values(update_by)update_time = values(update_time)state = values(state)-->
<!-- </insert>-->
<update id="insertOrUpdateBatch">
insert into experiment_ins (id, experiment_id, argo_ins_name, argo_ins_ns, status, nodes_status, nodes_result, nodes_logs, global_param, start_time, finish_time, create_by, create_time, update_by, update_time, state)
values values
<foreach collection="entities" item="entity" separator=",">
(#{entity.experimentId},#{entity.argoInsName},#{entity.argoInsNs},#{entity.status},#{entity.nodesStatus},#{entity.nodesResult},#{entity.startTime},#{entity.finishTime},#{entity.createBy},#{entity.createTime},#{entity.updateBy},#{entity.updateTime},#{entity.state})
<foreach collection="list" item="item" index="index" separator=",">
(#{item.id}, #{item.experimentId}, #{item.argoInsName}, #{item.argoInsNs}, #{item.status}, #{item.nodesStatus}, #{item.nodesResult}, #{item.nodesLogs}, #{item.globalParam}, #{item.startTime}, #{item.finishTime}, #{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime}, #{item.state})
</foreach> </foreach>
on duplicate key update
experiment_id = values(experiment_id)argo_ins_name = values(argo_ins_name)argo_ins_ns =
values(argo_ins_ns)status = values(status) nodes_status = values(nodes_status) create_by = values(create_by)create_time =
values(create_time)update_by = values(update_by)update_time = values(update_time)state = values(state)
</insert>
ON DUPLICATE KEY UPDATE
experiment_id = VALUES(experiment_id),
argo_ins_name = VALUES(argo_ins_name),
argo_ins_ns = VALUES(argo_ins_ns),
status = VALUES(status),
nodes_status = VALUES(nodes_status),
nodes_result = VALUES(nodes_result),
nodes_logs = VALUES(nodes_logs),
global_param = VALUES(global_param),
start_time = VALUES(start_time),
finish_time = VALUES(finish_time),
create_by = VALUES(create_by),
create_time = VALUES(create_time),
update_by = VALUES(update_by),
update_time = VALUES(update_time),
state = VALUES(state);
</update>


<update id="update"> <update id="update">
update experiment_ins update experiment_ins


Loading…
Cancel
Save