Browse Source

Merge remote-tracking branch 'origin/dev'

master-arm
chenzhihang 1 year ago
parent
commit
20cf07ef39
6 changed files with 99 additions and 56 deletions
  1. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/experiment/ExperimentInsController.java
  2. +2
    -0
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ModelDependency1Dao.java
  3. +1
    -1
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ExperimentInsService.java
  4. +9
    -6
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java
  5. +80
    -48
      ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/WorkflowServiceImpl.java
  6. +6
    -0
      ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelDependency1DaoMapper.xml

+ 1
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/controller/experiment/ExperimentInsController.java View File

@@ -120,7 +120,7 @@ public class ExperimentInsController extends BaseController {
*/
@PutMapping("{id}")
@ApiOperation("终止实验实例")
public GenericsAjaxResult<Boolean> terminateExperimentIns(@PathVariable("id") Integer id) {
public GenericsAjaxResult<Boolean> terminateExperimentIns(@PathVariable("id") Integer id) throws Exception {
return genericsSuccess(this.experimentInsService.terminateExperimentIns(id));
}



+ 2
- 0
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/mapper/ModelDependency1Dao.java View File

@@ -25,6 +25,8 @@ public interface ModelDependency1Dao {

int deleteModel(@Param("repoId") Integer repoId, @Param("identifier") String identifier, @Param("owner") String owner, @Param("version") String version);

int deleteModelById(@Param("id") Long id);

int deleteModelDependency(@Param("parentModel") String parentModel);

String getMeta(@Param("identifier") String identifier, @Param("owner") String owner, @Param("version") String version);


+ 1
- 1
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/ExperimentInsService.java View File

@@ -84,7 +84,7 @@ public interface ExperimentInsService {

ExperimentIns queryStatusFromArgo(ExperimentIns ins);

boolean terminateExperimentIns(Integer id);
boolean terminateExperimentIns(Integer id) throws Exception;

/**
* 查询实验实例日志


+ 9
- 6
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/ExperimentInsServiceImpl.java View File

@@ -11,7 +11,6 @@ import com.ruoyi.platform.mapper.ExperimentDao;
import com.ruoyi.platform.mapper.ExperimentInsDao;
import com.ruoyi.platform.mapper.ModelDependency1Dao;
import com.ruoyi.platform.service.ExperimentInsService;
import com.ruoyi.platform.service.WorkflowService;
import com.ruoyi.platform.utils.*;
import com.ruoyi.platform.vo.LogRequestVo;
import com.ruoyi.platform.vo.PodLogVo;
@@ -339,7 +338,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService {
* @return 是否成功
*/
@Override
public boolean terminateExperimentIns(Integer id) {
public boolean terminateExperimentIns(Integer id) throws Exception {
//先查出实验记录
ExperimentIns experimentIns = this.experimentInsDao.queryById(id);
if (experimentIns == null) {
@@ -356,7 +355,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService {

// 只有状态是"Running"时才能终止实例
if (!currentStatus.equalsIgnoreCase("Running")) {
return false; // 如果不是"Running"状态,则不执行终止操作
throw new Exception("终止错误,只有运行状态的实例才能终止"); // 如果不是"Running"状态,则不执行终止操作
}

// 创建请求数据map
@@ -412,7 +411,7 @@ public class ExperimentInsServiceImpl implements ExperimentInsService {

return true;
} else {
return false;
throw new Exception("终止错误");
}
} catch (Exception e) {
throw new RuntimeException("终止实例错误: " + e.getMessage(), e);
@@ -436,8 +435,12 @@ public class ExperimentInsServiceImpl implements ExperimentInsService {
HashMap queryMap = new HashMap<String, Integer>();
queryMap.put("insId", experimentIns.getId());
ModelDependency1 modelDependency1 = modelDependency1Dao.queryByInsId(JSON.toJSONString(queryMap));
String relativePath = ci4sUsername + "/model/" + modelDependency1.getRepoId() + "/" + modelDependency1.getIdentifier() + "/" + modelDependency1.getVersion() + "/model";
modelsService.deleteVersion(modelDependency1.getRepoId(), modelDependency1.getIdentifier(), modelDependency1.getOwner(), modelDependency1.getVersion(), relativePath);
if (StringUtils.isNotEmpty(modelDependency1.getVersion())) {
String relativePath = ci4sUsername + "/model/" + modelDependency1.getRepoId() + "/" + modelDependency1.getIdentifier() + "/" + modelDependency1.getVersion() + "/model";
modelsService.deleteVersion(modelDependency1.getRepoId(), modelDependency1.getIdentifier(), modelDependency1.getOwner(), modelDependency1.getVersion(), relativePath);
} else {
modelDependency1Dao.deleteModelById(modelDependency1.getId());
}
break;
}
//删除导出数据集版本


+ 80
- 48
ruoyi-modules/management-platform/src/main/java/com/ruoyi/platform/service/impl/WorkflowServiceImpl.java View File

@@ -226,7 +226,7 @@ public class WorkflowServiceImpl implements WorkflowService {
}
}

public void saveAssetWorkFlow(Workflow workflow) throws IOException {
public void saveAssetWorkFlow(Workflow workflow) throws Exception {
if (StringUtils.isNotEmpty(workflow.getDag())) {
Map<String, Object> dagMap = JsonUtils.jsonToMap(workflow.getDag());
List<Map<String, Object>> nodes = (List<Map<String, Object>>) dagMap.get("nodes");
@@ -307,69 +307,101 @@ public class WorkflowServiceImpl implements WorkflowService {
}
}

public void saveImageWorkFlow(String image, Long workflowId, String workflowName) {
String[] imageSplit = image.split(":");
String tagName = imageSplit[1];
ImageVersion imageVersion = imageVersionDao.queryByUrl(image);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf(imageVersion.getImageId()), tagName, Constant.Asset_Type_Image);
}

public void saveImageWorkFlow1(String inParameters, Long workflowId, String workflowName) throws IOException {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> image = (Map<String, Object>) paramMap.get("--image");
saveImageWorkFlow((String) image.get("value"), workflowId, workflowName);
public void saveImageWorkFlow(String image, Long workflowId, String workflowName) throws Exception {
try {
String[] imageSplit = image.split(":");
String tagName = imageSplit[1];
ImageVersion imageVersion = imageVersionDao.queryByUrl(image);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf(imageVersion.getImageId()), tagName, Constant.Asset_Type_Image);
} catch (Exception e) {
throw new Exception("镜像参数有误:" + e);
}
}

public void saveCodeWorkFlow(String inParameters, Long workflowId, String workflowName) throws IOException {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> code_config = (Map<String, Object>) paramMap.get("--code_config");
String value = (String) code_config.get("value");
Map<String, Object> valueMap = JsonUtils.jsonToMap(value);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((Integer) valueMap.get("id")), null, Constant.Asset_Type_Code);
public void saveImageWorkFlow1(String inParameters, Long workflowId, String workflowName) throws Exception {
try {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> image = (Map<String, Object>) paramMap.get("--image");
saveImageWorkFlow((String) image.get("value"), workflowId, workflowName);
} catch (Exception e) {
throw new Exception(e);
}
}

public void saveDatasetWorkFlow(String inParameters, Long workflowId, String workflowName) throws IOException {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> dataset = (Map<String, Object>) paramMap.get("--dataset");
String value = (String) dataset.get("value");
if (!value.startsWith("{{")) {
public void saveCodeWorkFlow(String inParameters, Long workflowId, String workflowName) throws Exception {
try {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> code_config = (Map<String, Object>) paramMap.get("--code_config");
String value = (String) code_config.get("value");
Map<String, Object> valueMap = JsonUtils.jsonToMap(value);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((String) valueMap.get("id")), (String) valueMap.get("version"), Constant.Asset_Type_Dataset);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((Integer) valueMap.get("id")), null, Constant.Asset_Type_Code);
} catch (IOException e) {
throw new Exception("代码配置参数有误:" + e);
}
}

public void saveDatasetWorkFlow1(String inParameters, Long workflowId, String workflowName) throws IOException {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> dataset = (Map<String, Object>) paramMap.get("--dataset_id");
String value = (String) dataset.get("value");
Map<String, Object> valueMap = JsonUtils.jsonToMap(value);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((String) valueMap.get("id")), null, Constant.Asset_Type_Dataset);
public void saveDatasetWorkFlow(String inParameters, Long workflowId, String workflowName) throws Exception {
try {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> dataset = (Map<String, Object>) paramMap.get("--dataset");
String value = (String) dataset.get("value");
if (!value.startsWith("{{")) {
Map<String, Object> valueMap = JsonUtils.jsonToMap(value);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((String) valueMap.get("id")), (String) valueMap.get("version"), Constant.Asset_Type_Dataset);
}
} catch (Exception e) {
throw new Exception("数据集参数有误:" + e);
}
}

public void saveModelWorkFlow(String inParameters, Long workflowId, String workflowName) throws IOException {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> model = (Map<String, Object>) paramMap.get("--model_name");
String value = (String) model.get("value");
if (StringUtils.isNotEmpty(value) && !value.startsWith("{{")) {
public void saveDatasetWorkFlow1(String inParameters, Long workflowId, String workflowName) throws Exception {
try {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> dataset = (Map<String, Object>) paramMap.get("--dataset_id");
String value = (String) dataset.get("value");
Map<String, Object> valueMap = JsonUtils.jsonToMap(value);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((String) valueMap.get("id")), (String) valueMap.get("version"), Constant.Asset_Type_Model);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((String) valueMap.get("id")), null, Constant.Asset_Type_Dataset);
} catch (Exception e) {
throw new Exception("数据集参数有误:" + e);
}
}

public void saveModelWorkFlow(String inParameters, Long workflowId, String workflowName) throws Exception {
try {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> model = (Map<String, Object>) paramMap.get("--model_name");
String value = (String) model.get("value");
if (StringUtils.isNotEmpty(value) && !value.startsWith("{{")) {
Map<String, Object> valueMap = JsonUtils.jsonToMap(value);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((String) valueMap.get("id")), (String) valueMap.get("version"), Constant.Asset_Type_Model);
}
} catch (Exception e) {
throw new Exception("模型参数有误:" + e);
}
}

public void saveModelWorkFlow1(String inParameters, Long workflowId, String workflowName) throws IOException {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> model = (Map<String, Object>) paramMap.get("--model_id");
String value = (String) model.get("value");
Map<String, Object> valueMap = JsonUtils.jsonToMap(value);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((String) valueMap.get("id")), null, Constant.Asset_Type_Model);
public void saveModelWorkFlow1(String inParameters, Long workflowId, String workflowName) throws Exception {
try {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> model = (Map<String, Object>) paramMap.get("--model_id");
String value = (String) model.get("value");
Map<String, Object> valueMap = JsonUtils.jsonToMap(value);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((String) valueMap.get("id")), null, Constant.Asset_Type_Model);
} catch (Exception e) {
throw new Exception("模型参数有误:" + e);
}
}

public void saveServiceWorkFlow(String inParameters, Long workflowId, String workflowName) throws IOException {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> service = (Map<String, Object>) paramMap.get("--service_name");
String value = (String) service.get("value");
Map<String, Object> valueMap = JsonUtils.jsonToMap(value);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((Integer) valueMap.get("id")), null, Constant.Asset_Type_Service);
public void saveServiceWorkFlow(String inParameters, Long workflowId, String workflowName) throws Exception {
try {
Map<String, Object> paramMap = JsonUtils.jsonToMap(inParameters);
Map<String, Object> service = (Map<String, Object>) paramMap.get("--service_name");
String value = (String) service.get("value");
Map<String, Object> valueMap = JsonUtils.jsonToMap(value);
insertAssetWorkFlow(workflowId, workflowName, Long.valueOf((Integer) valueMap.get("id")), null, Constant.Asset_Type_Service);
} catch (Exception e) {
throw new Exception("服务参数有误:" + e);
}
}

public void insertAssetWorkFlow(Long workflowId, String workflowName, Long assetId, String version, String type) {


+ 6
- 0
ruoyi-modules/management-platform/src/main/resources/mapper/managementPlatform/ModelDependency1DaoMapper.xml View File

@@ -85,6 +85,12 @@
</if>
</update>

<update id="deleteModelById">
update model_dependency1
set state = 0
where id = #{id}
</update>

<update id="deleteModelDependency">
update model_dependency1
set parent_model = null


Loading…
Cancel
Save