Commit 9e1ce7c1 by huangfusuper

【修改BUG】修改虚节点的完成时间和邮件查询节点对应不上的缺陷

parent 62288dbd
......@@ -65,7 +65,7 @@ public class RunRecordingAndJobTaskServiceImpl implements RunRecordingAndJobTask
jobTaskRunLog.setNodeId(jobTask.getNodeId());
jobTaskRunLog.setNodeName(jobTask.getNodeName());
jobTaskRunLog.setJobType(jobTask.getJobType());
jobTaskRunLog.setFlowId(mapFlowId);
jobTaskRunLog.setFlowId(jobTask.getFlowId());
jobTaskRunLog.setFailedRemainingCount(jobTask.getFailedRetryCount());
jobTaskRunLog.setVersionName(jobTask.getVersionName());
jobTaskRunLog.setFlowName(jobTask.getFlowName());
......
......@@ -70,8 +70,10 @@ public class FlowScanHelper {
log.debug("-----------------【工作流{}的执行次数大于0,放行】-------------------------",flow.getFlowName());
String versionName = flow.getVersionName();
Integer flowId = flow.getFlowId();
//根据工作流查询工作流下所有的节点
List<Node> nodeByFlowIdAndVersionName = nodeService.findNodeByFlowIdAndVersionName(flowId);
if(CollectionUtil.isNotEmpty(nodeByFlowIdAndVersionName)){
//保存到运行记录表和任务表
runNodeServer.saveRunRecAndTask(flow,nodeByFlowIdAndVersionName);
flow.setRemainingCount(flow.getRemainingCount()-1);
flowService.updateByIdSelective(flow);
......
......@@ -100,7 +100,7 @@ public class JobScheduleHelper{
log.error(e.getMessage(), e);
}
}
log.info("---------------------init myth-job admin jobInfoThread success------------------------");
log.info("---------------------【init myth-job admin jobInfoThread success】------------------------");
boolean preReadSuc;
while (!jobInfoThreadToStop) {
//开始去扫描任务节点
......
......@@ -17,6 +17,7 @@ import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Date;
import java.util.List;
import java.util.concurrent.TimeUnit;
......@@ -92,11 +93,12 @@ public class LogScanHelper {
notEndVirtualNodes.forEach(notEndVirtualNode ->{
log.debug("------------【开始查询虚拟节点的执行情况】----------------");
//根据运行标识和工作流id查询运行日志
RunRecording runRecordingByFlowIdAndRunId = runRecordingService.findRunRecordingByFlowIdAndRunId(notEndVirtualNode.getFlowId( ), notEndVirtualNode.getRunId());
RunRecording runRecordingByFlowIdAndRunId = runRecordingService.findRunRecordingByFlowIdAndRunId(notEndVirtualNode.getMapFlowId( ), notEndVirtualNode.getRunId());
//判断当前的工作流是否已经完结
if(runRecordingByFlowIdAndRunId!=null && "4".equals(runRecordingByFlowIdAndRunId.getFlowStatus())){
log.debug("------------【查询到有已经完成的虚拟节点修改日志】----------------");
notEndVirtualNode.setRunCode(runRecordingByFlowIdAndRunId.getFlowRunResult());
notEndVirtualNode.setEndTime(new Date());
//修改日志信息 改为成功或者失败
jobTaskRunLogService.updateJobTaskRunLog(notEndVirtualNode);
}else{
......
......@@ -199,6 +199,11 @@ public class RunRecordingScanHelper {
}
private void saveEmailAlarms(RunRecording runRecording) {
//这一步是根据flowId和RunId查询对应的节点信息
/**
* 但是现在疑惑的是 为什么根据工作流id和运行标识就能查询出虚节点的信息呢?
* 理想情况下 主分支工作流上的flowid和runID应该与虚节点一致
*/
List<JobTaskRunLogWithBLOBs> jobTaskRunLogByFlowIdAndRunId = jobTaskRunLogService.findJobTaskRunLogWithBLOBsByFlowIdAndRunId(runRecording.getFlowId(), runRecording.getRunId());
String flowName = runRecording.getFlowName();
String senContentHtml = runMsgHtml(jobTaskRunLogByFlowIdAndRunId, flowName);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment