新增:hpc任务开始结束增加消息通知

This commit is contained in:
yangyang01000846
2026-01-05 09:34:33 +08:00
parent 3587489fcd
commit 5981cdad6c
3 changed files with 56 additions and 8 deletions

View File

@@ -1,14 +1,18 @@
package com.sdm.pbs.service.impl;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.sdm.common.common.SdmResponse;
import com.sdm.common.common.ThreadLocalContext;
import com.sdm.common.entity.enums.MessageTemplateEnum;
import com.sdm.common.entity.req.flowable.AsyncCallbackRequest;
import com.sdm.common.entity.req.system.SendMsgReq;
import com.sdm.common.entity.resp.PageDataResp;
import com.sdm.common.entity.resp.pbs.hpc.FileNodeInfo;
import com.sdm.common.feign.impl.system.MessageFeignClientImpl;
import com.sdm.common.feign.inter.flowable.IFlowableFeignClient;
import com.sdm.common.log.CoreLogger;
import com.sdm.common.utils.HpcCommandExcuteUtil;
@@ -73,6 +77,9 @@ public class PbsServiceDecorator implements IPbsServiceDecorator {
@Autowired
private ISimulationCommandPlaceholderService simulationCommandPlaceholderService;
@Autowired
private MessageFeignClientImpl messageFeignClient;
@Override
public SdmResponse<HpcResouceInfo> queryHpcResource() {
return pbsService.queryHpcResource();
@@ -322,9 +329,9 @@ public class PbsServiceDecorator implements IPbsServiceDecorator {
public SdmResponse<Boolean> jobFileCallback(JobFileCallBackReq req) {
CoreLogger.info("hpc jobFileCallback params:{}",JSONObject.toJSONString(req));
SimulationJob newDbJob = simulationJobService.lambdaQuery().eq(SimulationJob::getJobId, req.getJobId()).one();
if(!Objects.isNull(req)&&Objects.equals(req.getUploadResult(),"Y")) {
// 回传成功
SimulationJob newDbJob = simulationJobService.lambdaQuery().eq(SimulationJob::getJobId, req.getJobId()).one();
newDbJob.setFileStatus("finished");
newDbJob.setUpdateTime(LocalDateTime.now());
simulationJobService.updateById(newDbJob);
@@ -332,11 +339,27 @@ public class PbsServiceDecorator implements IPbsServiceDecorator {
AsyncCallbackRequest asyncCallbackRequest = new AsyncCallbackRequest();
asyncCallbackRequest.setAsyncTaskId(newDbJob.getJobId());
asyncCallbackRequest.setResultJson("finished");
SdmResponse sdmResponse = flowableFeignClient.asyncCallback(asyncCallbackRequest);
CoreLogger.info("flowableFeignClient asyncCallback result:{}", JSONObject.toJSONString(sdmResponse));
// SdmResponse sdmResponse = flowableFeignClient.asyncCallback(asyncCallbackRequest);
// 发送成功完成的消息
sendMsg(newDbJob.getTenantId(),newDbJob.getCreatorId(),newDbJob.getJobName(),"成功");
// CoreLogger.info("flowableFeignClient asyncCallback result:{}", JSONObject.toJSONString(sdmResponse));
return SdmResponse.success(true);
}else{
// 发送失败完成的消息
sendMsg(newDbJob.getTenantId(),newDbJob.getCreatorId(),newDbJob.getJobName(),"失败");
}
return SdmResponse.success(false);
}
private void sendMsg(Long tenanId,Long userId,String jobName,String result){
SendMsgReq req = new SendMsgReq();
req.setTitle(MessageTemplateEnum.HPC_END.getTitle());
req.setContent(MessageTemplateEnum.HPC_END.getContent(jobName,result));
req.setTenantId(String.valueOf(tenanId));
req.setUserId(String.valueOf(userId));
CoreLogger.info("hpc finish push msg:{}", JSON.toJSONString(req));
messageFeignClient.sendMessage(req);
}
}