修改:hpc任务失败,代码优化

This commit is contained in:
yangyang01000846
2026-01-15 20:07:03 +08:00
parent 0727e00f1e
commit 2cffd8389b
2 changed files with 13 additions and 5 deletions

View File

@@ -47,7 +47,8 @@ public class FinishedStatusHandler implements JobStatusHandler {
@Override
public void handle(SimulationJob simJob, HpcJobStatusInfo statusInfo) {
log.info("任务id:{},Hpc任务详情:{}",simJob.getId(),JSON.toJSONString(statusInfo));
if(Objects.equals(statusInfo.getJobStatus(),"Canceled")){
if(Objects.equals(statusInfo.getJobStatus(),"Canceled")||
Objects.equals(statusInfo.getJobStatus(),"Failed")){
SimulationJob newDbJob = simulationJobService.lambdaQuery().eq(SimulationJob::getId, simJob.getId()).one();
newDbJob.setJobStatus(statusInfo.getJobStatus());
newDbJob.setStartTime(statusInfo.getStartTime());
@@ -65,11 +66,18 @@ public class FinishedStatusHandler implements JobStatusHandler {
AsyncCallbackRequest asyncCallbackRequest = new AsyncCallbackRequest();
asyncCallbackRequest.setAsyncTaskId(newDbJob.getJobId());
asyncCallbackRequest.setStatus("FAIL");
asyncCallbackRequest.setResultJson("Hpc任务已取消");
String statusMsg="";
if(Objects.equals(statusInfo.getJobStatus(),"Canceled")){
statusMsg="Hpc任务已取消";
}
if(Objects.equals(statusInfo.getJobStatus(),"Failed")){
statusMsg="Hpc任务失败";
}
asyncCallbackRequest.setResultJson(statusMsg);
SdmResponse sdmResponse = flowableFeignClient.asyncCallback(asyncCallbackRequest);
log.info("Hpc任务取消,通知工作流返回:{}",JSON.toJSONString(sdmResponse));
// 发送成功完成的消息
sendMsg(newDbJob.getTenantId(),newDbJob.getCreatorId(),newDbJob.getJobName(),"Hpc任务已取消");
sendMsg(newDbJob.getTenantId(),newDbJob.getCreatorId(),newDbJob.getJobName(),statusMsg);
}
if(Objects.equals(statusInfo.getJobStatus(),"Finished")){
try {
@@ -108,7 +116,7 @@ public class FinishedStatusHandler implements JobStatusHandler {
@Override
public List<String> getSupportedStatus() {
// todo 抽取成枚举类
return Arrays.asList("Finished","Canceled");
return Arrays.asList("Finished","Canceled", "Failed");
}
private void sendMsg(Long tenanId,Long userId,String jobName,String result){

View File

@@ -42,7 +42,7 @@ public class ProcessStatusHandler implements JobStatusHandler{
@Override
public List<String> getSupportedStatus() {
// todo 枚举类
return Arrays.asList("Configuring", "Queued", "Running", "Failed");
return Arrays.asList("Configuring", "Queued", "Running");
}
}