Commit 9e1ce7c1 by huangfusuper

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

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