From cce148fd3914ac39049abf887a0fca0fab63b59c Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Fri, 29 Nov 2024 16:19:43 +0800 Subject: [PATCH] =?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=9C=BA=E5=99=A8=E5=AD=A6?= =?UTF-8?q?=E4=B9=A0=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/platform/constant/Constant.java | 3 +++ .../com/ruoyi/platform/domain/AutoMlIns.java | 6 +++++ .../service/impl/AutoMlInsServiceImpl.java | 23 +++++++++++++++++-- .../service/impl/AutoMlServiceImpl.java | 4 +++- .../managementPlatform/AutoMlInsDao.xml | 20 ++++++++-------- 5 files changed, 44 insertions(+), 12 deletions(-) diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/constant/Constant.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/constant/Constant.java index 834f63e4..2f72576e 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/constant/Constant.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/constant/Constant.java @@ -29,10 +29,13 @@ public class Constant { public final static String Running = "Running"; public final static String Failed = "Failed"; public final static String Pending = "Pending"; + public final static String Terminated = "Terminated"; public final static String Init = "Init"; public final static String Stopped = "Stopped"; public final static String Succeeded = "Succeeded"; public final static String Type_Train = "train"; public final static String Type_Evaluate = "evaluate"; + + public final static String AutoMl_Classification = "classification"; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AutoMlIns.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AutoMlIns.java index ba425dcf..98df8125 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AutoMlIns.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/domain/AutoMlIns.java @@ -16,10 +16,14 @@ public class AutoMlIns { private Long autoMlId; + private String resultPath; + private String modelPath; private String imgPath; + private String runHistoryPath; + private Integer state; private String status; @@ -41,4 +45,6 @@ public class AutoMlIns { private Date createTime; private Date updateTime; + + private Date finishTime; } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AutoMlInsServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AutoMlInsServiceImpl.java index a672da1f..7b945e76 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AutoMlInsServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AutoMlInsServiceImpl.java @@ -1,7 +1,9 @@ package com.ruoyi.platform.service.impl; import com.ruoyi.platform.constant.Constant; +import com.ruoyi.platform.domain.AutoMl; import com.ruoyi.platform.domain.AutoMlIns; +import com.ruoyi.platform.mapper.AutoMlDao; import com.ruoyi.platform.mapper.AutoMlInsDao; import com.ruoyi.platform.service.AutoMlInsService; import com.ruoyi.platform.utils.DateUtils; @@ -29,7 +31,8 @@ public class AutoMlInsServiceImpl implements AutoMlInsService { @Resource private AutoMlInsDao autoMlInsDao; - + @Resource + private AutoMlDao autoMlDao; @Override public Page queryByPage(AutoMlIns autoMlIns, PageRequest pageRequest) throws IOException { @@ -61,6 +64,7 @@ public class AutoMlInsServiceImpl implements AutoMlInsService { autoMlIns.setState(Constant.State_invalid); int update = autoMlInsDao.update(autoMlIns); if (update > 0) { + updateAutoMlStatus(autoMlIns.getAutoMlId()); return "删除成功"; } else { return "删除失败"; @@ -121,7 +125,7 @@ public class AutoMlInsServiceImpl implements AutoMlInsService { String finishedAtString = (String) status.get("finishedAt"); if (finishedAtString != null && !finishedAtString.isEmpty()) { Date finishTime = DateUtils.convertUTCtoShanghaiDate(finishedAtString); - ins.setUpdateTime(finishTime); + ins.setFinishTime(finishTime); } // 解析nodes字段,提取节点状态并转换为JSON字符串 @@ -227,4 +231,19 @@ public class AutoMlInsServiceImpl implements AutoMlInsService { public AutoMlIns getDetailById(Long id) { return this.autoMlInsDao.queryById(id); } + + public void updateAutoMlStatus(Long autoMlId) { + List insList = autoMlInsDao.getByAutoMlId(autoMlId); + List statusList = new ArrayList<>(); + // 更新实验状态列表 + for (int i = 0; i < insList.size(); i++) { + statusList.add(insList.get(i).getStatus()); + } + String subStatus = statusList.toString().substring(1, statusList.toString().length() - 1); + AutoMl autoMl = autoMlDao.getAutoMlById(autoMlId); + if (!StringUtils.equals(autoMl.getStatusList(), subStatus)) { + autoMl.setStatusList(subStatus); + autoMlDao.edit(autoMl); + } + } } diff --git a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AutoMlServiceImpl.java b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AutoMlServiceImpl.java index 97aea010..7b842299 100644 --- a/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AutoMlServiceImpl.java +++ b/ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/AutoMlServiceImpl.java @@ -199,7 +199,9 @@ public class AutoMlServiceImpl implements AutoMlService { } else { autoMlIns.setImgPath(outputPath + "Auto-sklearn_accuracy_over_time.png" + "," + outputPath + "regression.png"); } - + autoMlIns.setResultPath(outputPath + "result.txt"); + String seed = autoMl.getSeed() != null ? String.valueOf(autoMl.getSeed()) : "1"; + autoMlIns.setRunHistoryPath(outputPath + "smac3-output/run_" + seed + "/runhistory.json"); autoMlInsDao.insert(autoMlIns); } catch (Exception e) { diff --git a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/AutoMlInsDao.xml b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/AutoMlInsDao.xml index ca1300d3..26f9c20d 100644 --- a/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/AutoMlInsDao.xml +++ b/ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/AutoMlInsDao.xml @@ -3,9 +3,12 @@ - insert into auto_ml_ins(auto_ml_id, model_path, img_path, node_status, node_result, param, source, argo_ins_name, argo_ins_ns) - values (#{autoMlIns.autoMlId}, #{autoMlIns.modelPath}, #{autoMlIns.imgPath}, #{autoMlIns.nodeStatus}, - #{autoMlIns.nodeResult}, #{autoMlIns.param}, #{autoMlIns.source}, #{autoMlIns.argoInsName}, #{autoMlIns.argoInsNs}) + insert into auto_ml_ins(auto_ml_id, result_path, model_path, img_path, run_history_path, node_status, + node_result, param, source, argo_ins_name, argo_ins_ns, status) + values (#{autoMlIns.autoMlId}, #{autoMlIns.resultPath}, #{autoMlIns.modelPath}, #{autoMlIns.imgPath}, + #{autoMlIns.runHistoryPath}, #{autoMlIns.nodeStatus}, + #{autoMlIns.nodeResult}, #{autoMlIns.param}, #{autoMlIns.source}, #{autoMlIns.argoInsName}, + #{autoMlIns.argoInsNs}, #{autoMlIns.status}) @@ -32,6 +35,9 @@ update_time = #{autoMlIns.updateTime}, + + finish_time = #{autoMlIns.finishTime}, + where id = #{autoMlIns.id} @@ -41,9 +47,7 @@ from auto_ml_ins state = 1 - - and auto_ml_id = #{autoMlIns.autoMlId} - + and auto_ml_id = #{autoMlIns.autoMlId} @@ -51,9 +55,7 @@ select * from auto_ml_ins state = 1 - - and auto_ml_id = #{autoMlIns.autoMlId} - + and auto_ml_id = #{autoMlIns.autoMlId} order by update_time DESC limit #{pageable.offset}, #{pageable.pageSize}