实验实例增加开始、结束时间字段
This commit is contained in:
parent
3b4b2bf115
commit
6ccdb11fbe
|
@ -44,7 +44,8 @@ public class ExperimentController {
|
|||
|
||||
@GetMapping(("/status"))
|
||||
@ApiOperation("查询实验状态")
|
||||
public Page<Experiment> selectStatus(@RequestBody Experiment experiment, PageRequest pageRequest){
|
||||
public Page<Experiment> selectStatus(Experiment experiment, int page,int size){
|
||||
PageRequest pageRequest = PageRequest.of(page,size);
|
||||
return this.experimentService.selectStatus(experiment, pageRequest);
|
||||
}
|
||||
|
||||
|
@ -115,7 +116,7 @@ public class ExperimentController {
|
|||
*/
|
||||
@PutMapping("/experiments/{id}")
|
||||
@ApiOperation("运行实验")
|
||||
public ResponseEntity<Experiment> runExperiment(@PathVariable("id") Integer id) {
|
||||
public ResponseEntity<Experiment> runExperiment(@PathVariable("id") Integer id) throws Exception {
|
||||
return ResponseEntity.ok(this.experimentService.runExperiment(id));
|
||||
}
|
||||
|
||||
|
|
|
@ -100,6 +100,7 @@ public class ExperimentInsController {
|
|||
@ApiOperation("终止实验实例")
|
||||
public boolean terminateExperimentIns(@PathVariable("id") Integer id) {
|
||||
return this.experimentInsService.terminateExperimentIns(id);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -41,6 +41,20 @@ public class ExperimentIns implements Serializable {
|
|||
private String nodesStatus;
|
||||
@ApiModelProperty(name = "nodes_logs")
|
||||
private String nodesLogs;
|
||||
|
||||
/**
|
||||
* 开始时间
|
||||
*/
|
||||
@ApiModelProperty(name = "start_time")
|
||||
private Date startTime;
|
||||
|
||||
/**
|
||||
* 结束时间
|
||||
*/
|
||||
@ApiModelProperty(name = "finish_time")
|
||||
private Date finishTime;
|
||||
|
||||
|
||||
/**
|
||||
* 创建者
|
||||
*/
|
||||
|
@ -127,6 +141,19 @@ public class ExperimentIns implements Serializable {
|
|||
this.nodesLogs = nodesLogs;
|
||||
}
|
||||
|
||||
public void setStartTime(Date startTime) {
|
||||
this.startTime = startTime;
|
||||
}
|
||||
|
||||
public Date getStartTime() {return startTime;}
|
||||
|
||||
public void setFinishTime(Date finishTime) {
|
||||
this.finishTime = finishTime;
|
||||
}
|
||||
|
||||
public Date getFinishTime() {return finishTime;}
|
||||
|
||||
|
||||
public String getCreateBy() {
|
||||
return createBy;
|
||||
}
|
||||
|
|
|
@ -55,6 +55,8 @@ public interface DatasetVersionDao {
|
|||
*/
|
||||
int insertBatch(@Param("entities") List<DatasetVersion> entities);
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 批量新增或按主键更新数据(MyBatis原生foreach方法)
|
||||
*
|
||||
|
@ -83,5 +85,7 @@ public interface DatasetVersionDao {
|
|||
List<DatasetVersion> queryByDatasetId(Integer datasetId);
|
||||
|
||||
DatasetVersion queryByDatasetVersion(DatasetVersion datasetVersion);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ public interface ExperimentInsDao {
|
|||
* @param experimentIns 查询条件
|
||||
* @return 总行数
|
||||
*/
|
||||
long count(@Param("experimentIns")ExperimentIns experimentIns);
|
||||
long count(@Param("experimentIns") ExperimentIns experimentIns);
|
||||
|
||||
/**
|
||||
* 新增数据
|
||||
|
@ -45,7 +45,7 @@ public interface ExperimentInsDao {
|
|||
* @param experimentIns 实例对象
|
||||
* @return 影响行数
|
||||
*/
|
||||
int insert(ExperimentIns experimentIns);
|
||||
int insert(@Param("experimentIns") ExperimentIns experimentIns);
|
||||
|
||||
/**
|
||||
* 批量新增数据(MyBatis原生foreach方法)
|
||||
|
|
|
@ -68,6 +68,7 @@ public interface ExperimentInsService {
|
|||
*/
|
||||
boolean deleteById(Integer id);
|
||||
|
||||
|
||||
List<ExperimentIns> queryByExperimentId(Integer id);
|
||||
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ public interface ExperimentService {
|
|||
*/
|
||||
boolean deleteById(Integer id);
|
||||
String removeById(Integer id);
|
||||
Experiment runExperiment(Integer id);
|
||||
Experiment runExperiment(Integer id) throws Exception;
|
||||
|
||||
Experiment addAndRunExperiment(Experiment experiment);
|
||||
|
||||
|
|
|
@ -301,9 +301,8 @@ public class ExperimentInsServiceImpl implements ExperimentInsService {
|
|||
// 检查响应是否为空或无内容
|
||||
if (StringUtils.isEmpty(req)) {
|
||||
throw new RuntimeException("终止响应内容为空。");
|
||||
|
||||
}
|
||||
|
||||
|
||||
// 将响应的JSON字符串转换为Map对象
|
||||
Map<String, Object> runResMap = JsonUtils.jsonToMap(req);
|
||||
// 从响应Map中直接获取"errCode"的值
|
||||
|
|
|
@ -5,6 +5,7 @@ import com.ruoyi.platform.domain.Experiment;
|
|||
import com.ruoyi.platform.domain.ExperimentIns;
|
||||
import com.ruoyi.platform.domain.Workflow;
|
||||
import com.ruoyi.platform.mapper.ExperimentDao;
|
||||
import com.ruoyi.platform.mapper.ExperimentInsDao;
|
||||
import com.ruoyi.platform.service.ExperimentInsService;
|
||||
import com.ruoyi.platform.service.ExperimentService;
|
||||
import com.ruoyi.platform.service.WorkflowService;
|
||||
|
@ -35,6 +36,11 @@ public class ExperimentServiceImpl implements ExperimentService {
|
|||
@Resource
|
||||
private ExperimentDao experimentDao;
|
||||
|
||||
@Resource
|
||||
private ExperimentInsDao experimentInsDao;
|
||||
|
||||
|
||||
|
||||
@Resource
|
||||
@Lazy
|
||||
private WorkflowService workflowService;
|
||||
|
@ -192,7 +198,7 @@ public class ExperimentServiceImpl implements ExperimentService {
|
|||
* @return 是否成功
|
||||
*/
|
||||
@Override
|
||||
public Experiment runExperiment(Integer id) {
|
||||
public Experiment runExperiment(Integer id) throws Exception {
|
||||
//先查出实验记录
|
||||
Experiment experiment = this.queryById(id);
|
||||
|
||||
|
@ -200,13 +206,18 @@ public class ExperimentServiceImpl implements ExperimentService {
|
|||
System.out.println("No experiment");
|
||||
}
|
||||
|
||||
|
||||
Workflow workflow = workflowService.queryById(experiment.getWorkflowId());
|
||||
if(workflow == null) {
|
||||
throw new RuntimeException("流水线不存在,请先创建流水线");
|
||||
}
|
||||
|
||||
String dag = workflow.getDag();
|
||||
// 调argo转换接口
|
||||
try {
|
||||
String convertRes = HttpUtils.sendPost(argoUrl + argoConvert, dag);
|
||||
if (convertRes == null || StringUtils.isEmpty(convertRes)) {
|
||||
throw new RuntimeException("Failed to convert workflow.");
|
||||
throw new RuntimeException("转换流水线失败");
|
||||
}
|
||||
Map<String, Object> converMap = JsonUtils.jsonToMap(convertRes);
|
||||
// 组装运行接口json
|
||||
|
@ -234,13 +245,16 @@ public class ExperimentServiceImpl implements ExperimentService {
|
|||
experimentIns.setArgoInsNs((String) metadata.get("namespace"));
|
||||
experimentIns.setArgoInsName((String) metadata.get("name"));
|
||||
//插入ExperimentIns表中
|
||||
experimentInsService.insert(experimentIns);
|
||||
experimentInsDao.insert(experimentIns);
|
||||
|
||||
}catch (Exception e){
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
List<ExperimentIns> experimentIns = experimentInsService.queryByExperimentId(id);
|
||||
|
||||
|
||||
experiment.setExperimentInsList(experimentIns);
|
||||
|
||||
return experiment;
|
||||
}
|
||||
|
||||
|
@ -253,7 +267,11 @@ public class ExperimentServiceImpl implements ExperimentService {
|
|||
throw new RuntimeException("Failed to add experiment.");
|
||||
}
|
||||
// 调用runExperiment方法运行实验
|
||||
newExperiment = this.runExperiment(newExperiment.getId());
|
||||
try {
|
||||
newExperiment = this.runExperiment(newExperiment.getId());
|
||||
} catch (Exception e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
return newExperiment;
|
||||
}
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
<!--查询单个-->
|
||||
<select id="queryById" resultMap="ExperimentInsMap">
|
||||
select id, experiment_id, argo_ins_name, argo_ins_ns, status, nodes_status, nodes_logs, create_by, create_time, update_by, update_time, state
|
||||
|
@ -175,7 +173,7 @@
|
|||
experiment_ins(experiment_id,argo_ins_name,argo_ins_ns,status,nodes_status,nodes_logs,create_by,create_time,update_by,update_time,state)
|
||||
values
|
||||
<foreach collection="entities" item="entity" separator=",">
|
||||
(#{entity.experimentId},#{entity.argoInsName},#{entity.argoInsNs},#{entity.status},#{entity.nodesStatus},#{entity.nodesStatus},#{entity.createBy},#{entity.createTime},#{entity.updateBy},#{entity.updateTime},#{entity.state})
|
||||
(#{entity.experimentId},#{entity.argoInsName},#{entity.argoInsNs},#{entity.status},#{entity.nodesStatus},#{entity.nodesLogs},#{entity.createBy},#{entity.createTime},#{entity.updateBy},#{entity.updateTime},#{entity.state})
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
@ -184,7 +182,7 @@
|
|||
experiment_ins(experiment_id,argo_ins_name,argo_ins_ns,status,nodes_status,create_by,create_time,update_by,update_time,state)
|
||||
values
|
||||
<foreach collection="entities" item="entity" separator=",">
|
||||
(#{entity.experimentId},#{entity.argoInsName},#{entity.argoInsNs},#{entity.status},#{entity.nodesStatus},#{entity.createBy},#{entity.createTime},#{entity.updateBy},#{entity.updateTime},#{entity.state})
|
||||
(#{entity.experimentId},#{entity.argoInsName},#{entity.argoInsNs},#{entity.status},#{entity.nodesStatus},#{entity.nodesLogs},#{entity.createBy},#{entity.createTime},#{entity.updateBy},#{entity.updateTime},#{entity.state})
|
||||
</foreach>
|
||||
on duplicate key update
|
||||
experiment_id = values(experiment_id)argo_ins_name = values(argo_ins_name)argo_ins_ns =
|
||||
|
|
Loading…
Reference in New Issue