Browse Source

优化停止实验bug

dev-complex-computation
chenzhihang 1 year ago
parent
commit
5860df238d
5 changed files with 19 additions and 8 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. +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;
}
//删除导出数据集版本


+ 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