新增:pbs任务提交创建工作目录
This commit is contained in:
@@ -21,6 +21,7 @@ import com.sdm.common.utils.HpcCommandResulParseUtil;
|
||||
import com.sdm.pbs.service.HpcInstructionService;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.commons.lang3.tuple.Pair;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
@@ -120,6 +121,14 @@ public class HpcInstructionServiceImpl implements HpcInstructionService {
|
||||
String prefixStr = HpcCommandBuilderUtil.initAddJobPrefixStr(req.getJobId());
|
||||
AddJobParam addJobParam = new AddJobParam();
|
||||
BeanUtils.copyProperties(req, addJobParam);
|
||||
String targetWorkDir = addJobParam.getWorkdir() + "\\" + req.getJobId();
|
||||
Pair<Boolean, String> workDirPair = createDirIfNotExist(targetWorkDir);
|
||||
if(!workDirPair.getLeft()){
|
||||
AddJobResp addJobResp=new AddJobResp();
|
||||
addJobResp.setErrMsg(workDirPair.getRight());
|
||||
return SdmResponse.failed(workDirPair.getRight(),addJobResp);
|
||||
}
|
||||
addJobParam.setWorkdir(targetWorkDir);
|
||||
String addJobCommand = HpcCommandBuilderUtil.buildHpcCommandStr(prefixStr, addJobParam, req.getCommand());
|
||||
String result = hpcCommandExcuteUtil.excuteCmd(addJobCommand,hpcExcuteWay);
|
||||
AddJobResp addJobResp = HpcCommandResulParseUtil.parseJoAddResult(result);
|
||||
@@ -171,7 +180,17 @@ public class HpcInstructionServiceImpl implements HpcInstructionService {
|
||||
}
|
||||
// 2.job add
|
||||
addJobReq.setJobId(jobId);
|
||||
addJobReq.setWorkdir( addJobReq.getWorkdir()+"\\"+jobId);
|
||||
// String targetWorkDir = addJobReq.getWorkdir() + "\\" + jobId;
|
||||
// Pair<Boolean, String> workDirPair = createDirIfNotExist(targetWorkDir);
|
||||
// if(!workDirPair.getLeft()){
|
||||
// mergeSubmitResp.setSubmit(false);
|
||||
// String errMsg = "job add workDir create error";
|
||||
// mergeSubmitResp.setErrMsg(workDirPair.getRight());
|
||||
// // 错误的指令返回
|
||||
// mergeSubmitResp.setHpcCommand(targetWorkDir);
|
||||
// return SdmResponse.failed(errMsg,mergeSubmitResp);
|
||||
// }
|
||||
// addJobReq.setWorkdir(targetWorkDir);
|
||||
SdmResponse<AddJobResp> addResponse = jobAdd(addJobReq);
|
||||
String taskId = "";
|
||||
if(addResponse.isSuccess()&&!Objects.isNull(addResponse.getData())&&
|
||||
@@ -529,5 +548,10 @@ public class HpcInstructionServiceImpl implements HpcInstructionService {
|
||||
}
|
||||
}
|
||||
|
||||
private Pair<Boolean, String> createDirIfNotExist(String targetDir) {
|
||||
Pair<Boolean, String> pair= hpcCommandExcuteUtil.createDirIfNotExist(targetDir);
|
||||
return pair;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ public class IPbsHpcServiceImpl implements IPbsService {
|
||||
// todo
|
||||
addJobReq.setStdout("1126.out");
|
||||
// todo
|
||||
addJobReq.setWorkdir("\\\\CARSAFE\\share\\testproject\\testjob\\testtask");
|
||||
addJobReq.setWorkdir("\\\\CARSAFE\\share\\spdm");
|
||||
// todo
|
||||
addJobReq.setCommand(req.getCommand());
|
||||
SubmitHpcJobReq submitHpcJobReq = new SubmitHpcJobReq();
|
||||
|
||||
@@ -105,6 +105,7 @@ hpc:
|
||||
# remote: hpc借助工具http远程调用,local:该服务和hpc部署在同一机器
|
||||
excuteWay: remote
|
||||
remoteCmdUrl: http://192.168.65.55:9097/doProcess
|
||||
remoteCreateDirUrl: http://192.168.65.55:9097/createDir
|
||||
|
||||
#logging:
|
||||
# config: ./config/logback.xml
|
||||
|
||||
Reference in New Issue
Block a user