修改:hpc任务指定核数优化

This commit is contained in:
yangyang01000846
2026-01-16 16:33:14 +08:00
parent cb672abe03
commit d525106211
4 changed files with 13 additions and 9 deletions

View File

@@ -7,9 +7,11 @@ public class HPCExecuteConfig extends BaseExecuteConfig {
private String beforeNodeId; private String beforeNodeId;
// 先默认写死一个,后面前端配置传递 // 先默认写死一个,后面前端配置传递
private String masterFileRegularStr = "^.*\\.xml$"; // private String masterFileRegularStr = "^.*\\.xml$";
private String inputFormat;
// 先默认写死一个,后面前端配置传递 // 先默认写死一个,后面前端配置传递
private String inputFilesRegularStr="^.+\\.json$"; // private String inputFilesRegularStr="^.+\\.json$";
private String slaveFormat;
// 节点的命令 这个不用传递了,配置在后台表里的 // 节点的命令 这个不用传递了,配置在后台表里的
private String nodeExeCommand; private String nodeExeCommand;

View File

@@ -281,10 +281,10 @@ public class ProcessController implements IFlowableFeignClient {
config.setUuid(appuuid); config.setUuid(appuuid);
config.setBeforeNodeId(beforeNodeId); config.setBeforeNodeId(beforeNodeId);
if(!Objects.isNull(params.get("masterFileRegularStr"))){ if(!Objects.isNull(params.get("masterFileRegularStr"))){
config.setMasterFileRegularStr(params.get("masterFileRegularStr").toString()); config.setInputFormat(params.get("masterFileRegularStr").toString());
} }
if(!Objects.isNull(params.get("inputFilesRegularStr"))){ if(!Objects.isNull(params.get("inputFilesRegularStr"))){
config.setInputFilesRegularStr(params.get("inputFilesRegularStr").toString()); config.setSlaveFormat(params.get("inputFilesRegularStr").toString());
} }
String currentNodeId = params.get("currentNodeId").toString(); String currentNodeId = params.get("currentNodeId").toString();
DelegateExecution execution = new DelegateExecution() { DelegateExecution execution = new DelegateExecution() {

View File

@@ -65,12 +65,13 @@ public class HpcHandler implements ExecutionHandler<Map<String, Object>,HPCExecu
submitHpcTaskRemoteReq.setSoftwareId(config.getUuid()); submitHpcTaskRemoteReq.setSoftwareId(config.getUuid());
String beforeNodeId = config.getBeforeNodeId(); String beforeNodeId = config.getBeforeNodeId();
String currentNodeId =execution.getCurrentActivityId(); String currentNodeId =execution.getCurrentActivityId();
String masterFileRegularStr = config.getMasterFileRegularStr(); String masterFileRegularStr = config.getInputFormat();
String inputFilesRegularStr = config.getInputFilesRegularStr(); String inputFilesRegularStr = config.getSlaveFormat();
if(StringUtils.isBlank(masterFileRegularStr)){ if(StringUtils.isBlank(masterFileRegularStr)){
throw new RuntimeException("Hpc任务执行失败主求解文件规则不能是空"); throw new RuntimeException("Hpc任务执行失败主求解文件规则不能是空");
} }
CoreLogger.info("beforeNodeId:{},currentNodeId:{},masterFileRegularStr:{},inputFilesRegularStr:{}",beforeNodeId,currentNodeId,masterFileRegularStr,inputFilesRegularStr); CoreLogger.info("beforeNodeId:{},currentNodeId:{},masterFileRegularStr:{},inputFilesRegularStr:{}",beforeNodeId,currentNodeId,masterFileRegularStr,inputFilesRegularStr);
CoreLogger.info("Hpc执行 processDefinitionId:{},processInstanceId:{}",execution.getProcessDefinitionId(),execution.getProcessInstanceId());
// 初始化用户/租户信息 // 初始化用户/租户信息
initUserInfo(execution,params); initUserInfo(execution,params);
// params 取只是测试使用 // params 取只是测试使用

View File

@@ -4,6 +4,7 @@ import com.sdm.common.common.SdmResponse;
import com.sdm.common.entity.constants.HpcConstants; import com.sdm.common.entity.constants.HpcConstants;
import com.sdm.common.entity.constants.NumberConstants; import com.sdm.common.entity.constants.NumberConstants;
import com.sdm.common.entity.req.pbs.hpc.*; import com.sdm.common.entity.req.pbs.hpc.*;
import com.sdm.common.entity.resp.pbs.hpc.FileNodeInfo;
import com.sdm.common.entity.resp.pbs.hpc.JobCancelResp; import com.sdm.common.entity.resp.pbs.hpc.JobCancelResp;
import com.sdm.common.entity.resp.pbs.hpc.SubmitHpcJobResp; import com.sdm.common.entity.resp.pbs.hpc.SubmitHpcJobResp;
import com.sdm.common.entity.resp.pbs.hpc.listtasks.ListTasks; import com.sdm.common.entity.resp.pbs.hpc.listtasks.ListTasks;
@@ -11,14 +12,12 @@ import com.sdm.common.entity.resp.pbs.hpc.listtasks.ListTasksResp;
import com.sdm.common.entity.resp.pbs.hpc.nodelist.NodeList; import com.sdm.common.entity.resp.pbs.hpc.nodelist.NodeList;
import com.sdm.common.entity.resp.pbs.hpc.nodelist.NodeListResp; import com.sdm.common.entity.resp.pbs.hpc.nodelist.NodeListResp;
import com.sdm.common.log.CoreLogger; import com.sdm.common.log.CoreLogger;
import com.sdm.common.entity.resp.pbs.hpc.FileNodeInfo;
import com.sdm.pbs.model.bo.HpcJobStatusInfo; import com.sdm.pbs.model.bo.HpcJobStatusInfo;
import com.sdm.pbs.model.bo.HpcNodeInfo; import com.sdm.pbs.model.bo.HpcNodeInfo;
import com.sdm.pbs.model.bo.HpcResouceInfo; import com.sdm.pbs.model.bo.HpcResouceInfo;
import com.sdm.pbs.model.req.SubmitHpcTaskReq; import com.sdm.pbs.model.req.SubmitHpcTaskReq;
import com.sdm.pbs.service.HpcInstructionService; import com.sdm.pbs.service.HpcInstructionService;
import com.sdm.pbs.service.IPbsService; import com.sdm.pbs.service.IPbsService;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@@ -61,14 +60,16 @@ public class IPbsHpcServiceImpl implements IPbsService {
MergeSubmitHpcJobReq mergeSubmitHpcJobReq = new MergeSubmitHpcJobReq(); MergeSubmitHpcJobReq mergeSubmitHpcJobReq = new MergeSubmitHpcJobReq();
NewJobReq newJobReq = new NewJobReq(); NewJobReq newJobReq = new NewJobReq();
newJobReq.setJobname(req.getJobName()); newJobReq.setJobname(req.getJobName());
// todo
newJobReq.setProjectname(req.getProjectname()); newJobReq.setProjectname(req.getProjectname());
newJobReq.setNumcores(String.valueOf(req.getCoreNum()));
AddJobReq addJobReq = new AddJobReq(); AddJobReq addJobReq = new AddJobReq();
addJobReq.setName(req.getRunName()); addJobReq.setName(req.getRunName());
addJobReq.setStdout(req.getStdout()); addJobReq.setStdout(req.getStdout());
addJobReq.setWorkdir(req.getWorkDir()); addJobReq.setWorkdir(req.getWorkDir());
addJobReq.setCommand(req.getCommand()); addJobReq.setCommand(req.getCommand());
addJobReq.setNumcores(String.valueOf(req.getCoreNum()));
SubmitHpcJobReq submitHpcJobReq = new SubmitHpcJobReq(); SubmitHpcJobReq submitHpcJobReq = new SubmitHpcJobReq();
submitHpcJobReq.setNumcores(String.valueOf(req.getCoreNum()));
mergeSubmitHpcJobReq.setNewJobReq(newJobReq); mergeSubmitHpcJobReq.setNewJobReq(newJobReq);
mergeSubmitHpcJobReq.setAddJobReq(addJobReq); mergeSubmitHpcJobReq.setAddJobReq(addJobReq);
mergeSubmitHpcJobReq.setSubmitHpcJobReq(submitHpcJobReq); mergeSubmitHpcJobReq.setSubmitHpcJobReq(submitHpcJobReq);