diff --git a/pbs/src/main/java/com/sdm/pbs/schedule/hpc/hander/FinishedStatusHandler.java b/pbs/src/main/java/com/sdm/pbs/schedule/hpc/hander/FinishedStatusHandler.java index a18f126b..cf9cf41e 100644 --- a/pbs/src/main/java/com/sdm/pbs/schedule/hpc/hander/FinishedStatusHandler.java +++ b/pbs/src/main/java/com/sdm/pbs/schedule/hpc/hander/FinishedStatusHandler.java @@ -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 getSupportedStatus() { // todo 抽取成枚举类 - return Arrays.asList("Finished","Canceled"); + return Arrays.asList("Finished","Canceled", "Failed"); } private void sendMsg(Long tenanId,Long userId,String jobName,String result){ diff --git a/pbs/src/main/java/com/sdm/pbs/schedule/hpc/hander/ProcessStatusHandler.java b/pbs/src/main/java/com/sdm/pbs/schedule/hpc/hander/ProcessStatusHandler.java index b7771cad..f726de0f 100644 --- a/pbs/src/main/java/com/sdm/pbs/schedule/hpc/hander/ProcessStatusHandler.java +++ b/pbs/src/main/java/com/sdm/pbs/schedule/hpc/hander/ProcessStatusHandler.java @@ -42,7 +42,7 @@ public class ProcessStatusHandler implements JobStatusHandler{ @Override public List getSupportedStatus() { // todo 枚举类 - return Arrays.asList("Configuring", "Queued", "Running", "Failed"); + return Arrays.asList("Configuring", "Queued", "Running"); } }