新增:pbs任务提交接入工作流引擎实现

This commit is contained in:
yangyang01000846
2025-11-27 15:36:42 +08:00
parent 9b51f1c79f
commit b75cfaa338
13 changed files with 153 additions and 24 deletions

View File

@@ -1,15 +1,16 @@
package com.sdm.pbs.controller;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.pbs.SubmitHpcTaskReq;
import com.sdm.common.entity.req.pbs.hpc.*;
import com.sdm.common.entity.resp.pbs.hpc.*;
import com.sdm.common.entity.resp.pbs.hpc.listjobs.ListJobResp;
import com.sdm.common.entity.resp.pbs.hpc.listtasks.ListTasksResp;
import com.sdm.common.entity.resp.pbs.hpc.nodecore.NodeListCoreResp;
import com.sdm.common.entity.resp.pbs.hpc.nodelist.NodeListResp;
import com.sdm.common.feign.inter.pbs.ITaskFeignClient;
import com.sdm.common.utils.HpcCommandExcuteUtil;
import com.sdm.pbs.model.bo.HpcJobStatusInfo;
import com.sdm.pbs.model.req.SubmitHpcTaskReq;
import com.sdm.pbs.service.HpcInstructionService;
import com.sdm.pbs.service.IPbsService;
import io.swagger.v3.oas.annotations.Operation;
@@ -27,7 +28,7 @@ import java.util.Map;
@RestController
@RequestMapping("/pbs")
@Tag(name = "HPC调度", description = "与hpc交互的接口")
public class TaskController {
public class TaskController implements ITaskFeignClient {
@Autowired
private HpcInstructionService hpcInstructionService;

View File

@@ -1,50 +0,0 @@
package com.sdm.pbs.model.req;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
@Data
public class SubmitHpcTaskReq {
@Schema(description = "计算任务名称")
public String jobName;
@Schema(description = "计算所需要核数")
public int coreNum;
@Schema(description = "计算软件")
public String software;
@Schema(description = "计算任务类型")
public String jobType;
@Schema(description = "计算任务是否独立存在 0非独立任务 1独立任务")
public int independence;
@Schema(description = "求解文件")
public List<String> inputFiles = new ArrayList<>();
@Schema(description = "计算主文件")
public String masterFile;
@Schema(description = "计算任务所属任务ID")
public String taskId;
@Schema(description = "计算任务所属任务名称")
public String taskName;
@Schema(description = "计算任务所属算力ID")
public String runId;
@Schema(description = "计算任务所属算力名称")
public String runName;
@Schema(description = "执行的命令")
public String command;
@Schema(description = "任务所属项目")
public String projectname;
}

View File

@@ -1,10 +1,10 @@
package com.sdm.pbs.service;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.pbs.SubmitHpcTaskReq;
import com.sdm.pbs.model.bo.FileBaseInfo;
import com.sdm.pbs.model.bo.HpcJobStatusInfo;
import com.sdm.pbs.model.bo.HpcResouceInfo;
import com.sdm.pbs.model.req.SubmitHpcTaskReq;
import java.util.List;

View File

@@ -2,6 +2,7 @@ package com.sdm.pbs.service.impl;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.constants.HpcConstants;
import com.sdm.common.entity.req.pbs.SubmitHpcTaskReq;
import com.sdm.common.entity.req.pbs.hpc.*;
import com.sdm.common.entity.resp.pbs.hpc.SubmitHpcJobResp;
import com.sdm.common.entity.resp.pbs.hpc.listjobs.ListJobResp;
@@ -10,7 +11,6 @@ import com.sdm.common.entity.resp.pbs.hpc.listtasks.ListTasksResp;
import com.sdm.pbs.model.bo.FileBaseInfo;
import com.sdm.pbs.model.bo.HpcJobStatusInfo;
import com.sdm.pbs.model.bo.HpcResouceInfo;
import com.sdm.pbs.model.req.SubmitHpcTaskReq;
import com.sdm.pbs.service.HpcInstructionService;
import com.sdm.pbs.service.IPbsService;
import lombok.extern.slf4j.Slf4j;

View File

@@ -1,10 +1,10 @@
package com.sdm.pbs.service.impl;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.req.pbs.SubmitHpcTaskReq;
import com.sdm.pbs.model.bo.FileBaseInfo;
import com.sdm.pbs.model.bo.HpcJobStatusInfo;
import com.sdm.pbs.model.bo.HpcResouceInfo;
import com.sdm.pbs.model.req.SubmitHpcTaskReq;
import com.sdm.pbs.service.IPbsService;
import com.sdm.pbs.service.IPbsServiceDecorator;
import org.springframework.beans.factory.annotation.Autowired;

View File

@@ -24,7 +24,7 @@ spring:
nacos:
discovery:
server-addr: 192.168.65.161:8848
group: DEV_GROUP
group: YANG_GROUP
enabled: true
# namespace: 3
# username: nacos