| @@ -59,6 +59,11 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { | |||||
| private NewHttpUtils httpUtils; | private NewHttpUtils httpUtils; | ||||
| @Resource | @Resource | ||||
| private K8sClientUtil k8sClientUtil; | private K8sClientUtil k8sClientUtil; | ||||
| @Resource | |||||
| private ModelsServiceImpl modelsService; | |||||
| @Resource | |||||
| private NewDatasetServiceImpl newDatasetService; | |||||
| private final MinioUtil minioUtil; | private final MinioUtil minioUtil; | ||||
| public ExperimentInsServiceImpl(MinioUtil minioUtil) { | public ExperimentInsServiceImpl(MinioUtil minioUtil) { | ||||
| @@ -401,6 +406,10 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { | |||||
| ins.setStatus("Terminated"); | ins.setStatus("Terminated"); | ||||
| ins.setFinishTime(new Date()); | ins.setFinishTime(new Date()); | ||||
| this.experimentInsDao.update(ins); | this.experimentInsDao.update(ins); | ||||
| //删除数据集模型导出版本 | |||||
| deleteExportVersion(runResMap); | |||||
| return true; | return true; | ||||
| } else { | } else { | ||||
| return false; | return false; | ||||
| @@ -411,6 +420,58 @@ public class ExperimentInsServiceImpl implements ExperimentInsService { | |||||
| } | } | ||||
| void deleteExportVersion(Map<String, Object> runResMap) throws Exception { | |||||
| LoginUser loginUser = SecurityUtils.getLoginUser(); | |||||
| String ci4sUsername = loginUser.getUsername(); | |||||
| Map<String, Object> spec = (Map<String, Object>) runResMap.get("spec"); | |||||
| if (spec != null) { | |||||
| List<Map<String, Object>> templates = (ArrayList<Map<String, Object>>) spec.get("templates"); | |||||
| for (Map<String, Object> template : templates) { | |||||
| String name = (String) template.get("name"); | |||||
| if (StringUtils.isNotEmpty(name) && name.contains("model-export")) { | |||||
| Map<String, Object> container = (Map<String, Object>) template.get("container"); | |||||
| List<String> args = (ArrayList<String>) container.get("args"); | |||||
| Map<String, Object> 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<String, Object> container = (Map<String, Object>) template.get("container"); | |||||
| List<String> args = (ArrayList<String>) container.get("args"); | |||||
| Map<String, Object> 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); | |||||
| } | |||||
| } | |||||
| } | |||||
| } | |||||
| /** | /** | ||||
| * 查询实验实例日志的单个节点日志 | * 查询实验实例日志的单个节点日志 | ||||
| * | * | ||||