新增:hpc任务开始结束增加消息通知
This commit is contained in:
@@ -1,13 +1,17 @@
|
||||
package com.sdm.flowable.delegate.handler;
|
||||
|
||||
import com.alibaba.fastjson2.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.sdm.common.common.SdmResponse;
|
||||
import com.sdm.common.common.ThreadLocalContext;
|
||||
import com.sdm.common.config.FlowableConfig;
|
||||
import com.sdm.common.entity.enums.MessageTemplateEnum;
|
||||
import com.sdm.common.entity.flowable.executeConfig.HPCExecuteConfig;
|
||||
import com.sdm.common.entity.req.data.GetFileBaseInfoReq;
|
||||
import com.sdm.common.entity.req.pbs.SubmitHpcTaskRemoteReq;
|
||||
import com.sdm.common.entity.req.system.SendMsgReq;
|
||||
import com.sdm.common.entity.resp.data.FileMetadataInfoResp;
|
||||
import com.sdm.common.feign.impl.system.MessageFeignClientImpl;
|
||||
import com.sdm.common.feign.inter.data.IDataFeignClient;
|
||||
import com.sdm.common.feign.inter.pbs.ITaskFeignClient;
|
||||
import com.sdm.common.log.CoreLogger;
|
||||
@@ -43,6 +47,9 @@ public class HpcHandler implements ExecutionHandler<Map<String, Object>,HPCExecu
|
||||
@Autowired
|
||||
private IDataFeignClient dataFeignClient;
|
||||
|
||||
@Autowired
|
||||
private MessageFeignClientImpl messageFeignClient;
|
||||
|
||||
/*
|
||||
* params:业务参数
|
||||
* config:框架属性
|
||||
@@ -82,10 +89,15 @@ public class HpcHandler implements ExecutionHandler<Map<String, Object>,HPCExecu
|
||||
// 1. 调用 HPC 平台提交任务
|
||||
SdmResponse<String> submitResp = taskFeignClient.adapterSubmitHpcJob(submitHpcTaskRemoteReq);
|
||||
if(!submitResp.isSuccess()|| StringUtils.isBlank(submitResp.getData())){
|
||||
// 推送失败消息
|
||||
sendMsg(ThreadLocalContext.getTenantId(),ThreadLocalContext.getUserId(),submitHpcTaskRemoteReq.getJobName(),"失败");
|
||||
log.error("HpcHandler submit failed,jobName:{}",params);
|
||||
throw new RuntimeException("HpcHandler submit failed,"+submitResp.getMessage());
|
||||
}
|
||||
|
||||
String hpcTaskId = submitResp.getData();
|
||||
// 推送成功消息
|
||||
sendMsg(ThreadLocalContext.getTenantId(),ThreadLocalContext.getUserId(),submitHpcTaskRemoteReq.getJobName(),"成功");
|
||||
CoreLogger.info("hpc task submit succ jobId:{}",hpcTaskId);
|
||||
// 2. 存数据库(提交状态 + 外部任务ID)
|
||||
asyncTaskRecordService.registerAsyncTask(
|
||||
@@ -100,6 +112,16 @@ public class HpcHandler implements ExecutionHandler<Map<String, Object>,HPCExecu
|
||||
log.info("HPC 任务 {} 已提交", "hpcTaskId");
|
||||
}
|
||||
|
||||
private void sendMsg(Long tenanId,Long userId,String jobName,String result){
|
||||
SendMsgReq req = new SendMsgReq();
|
||||
req.setTitle(MessageTemplateEnum.HPC_START.getTitle());
|
||||
req.setContent(MessageTemplateEnum.HPC_START.getContent(jobName,result));
|
||||
req.setTenantId(String.valueOf(tenanId));
|
||||
req.setUserId(String.valueOf(userId));
|
||||
log.info("hpc start push msg:{}", JSON.toJSONString(req));
|
||||
messageFeignClient.sendMessage(req);
|
||||
}
|
||||
|
||||
private void initUserInfo(DelegateExecution execution) {
|
||||
// 获取当前流程实例参数
|
||||
Long userId = (Long) execution.getVariable("userId");
|
||||
|
||||
Reference in New Issue
Block a user