From 4fbd278954954dfb3023872d9e53fe4673555083 Mon Sep 17 00:00:00 2001 From: chenzhihang <709011834@qq.com> Date: Fri, 18 Oct 2024 09:27:52 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E9=AA=8C=E7=BB=88=E6=AD=A2=E5=88=A0?= =?UTF-8?q?=E9=99=A4=E6=95=B0=E6=8D=AE=E9=9B=86=E5=92=8C=E6=A8=A1=E5=9E=8B?= =?UTF-8?q?=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ExperimentInsServiceImpl.java | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) 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 59168810..da66d68f 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 @@ -59,6 +59,11 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { private NewHttpUtils httpUtils; @Resource private K8sClientUtil k8sClientUtil; + @Resource + private ModelsServiceImpl modelsService; + @Resource + private NewDatasetServiceImpl newDatasetService; + private final MinioUtil minioUtil; public ExperimentInsServiceImpl(MinioUtil minioUtil) { @@ -401,6 +406,10 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { ins.setStatus("Terminated"); ins.setFinishTime(new Date()); this.experimentInsDao.update(ins); + + //删除数据集模型导出版本 + deleteExportVersion(runResMap); + return true; } else { return false; @@ -411,6 +420,58 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { } + void deleteExportVersion(Map runResMap) throws Exception { + LoginUser loginUser = SecurityUtils.getLoginUser(); + String ci4sUsername = loginUser.getUsername(); + + Map spec = (Map) runResMap.get("spec"); + if (spec != null) { + List> templates = (ArrayList>) spec.get("templates"); + for (Map template : templates) { + String name = (String) template.get("name"); + if (StringUtils.isNotEmpty(name) && name.contains("model-export")) { + Map container = (Map) template.get("container"); + List args = (ArrayList) container.get("args"); + + Map model = new HashMap<>(); + String version = ""; + for (String arg : args) { + if (arg.startsWith("--model_id")) { + String modelStr = arg.substring("--model_id=".length()); + model = JsonUtils.jsonToMap(modelStr); + } + if (arg.startsWith("--version")) { + version = arg.substring("--version=".length()); + } + } + String relativePath = ci4sUsername + "/model/" + model.get("id") + "/" + model.get("identifier") + "/" + version + "/model"; + ; + modelsService.deleteVersion(Integer.valueOf((String) model.get("id")), (String) model.get("identifier"), (String) model.get("owner"), version, relativePath); + } + + if (StringUtils.isNotEmpty(name) && name.contains("dataset-export")) { + Map container = (Map) template.get("container"); + List args = (ArrayList) container.get("args"); + + Map dataset = new HashMap<>(); + String version = ""; + + for (String arg : args) { + if (arg.startsWith("--dataset_id")) { + String datasetStr = arg.substring("--dataset_id=".length()); + dataset = JsonUtils.jsonToMap(datasetStr); + } + if (arg.startsWith("--version")) { + version = arg.substring("--version=".length()); + } + } + String relativePath = ci4sUsername + "/datasets/" + dataset.get("id") + "/" + dataset.get("identifier") + "/" + version + "/dataset"; + newDatasetService.deleteDatasetVersionNew((String) dataset.get("identifier"), (String) dataset.get("owner"), version, relativePath); + } + } + } + } + /** * 查询实验实例日志的单个节点日志 *