Commit 8756df92 by huangfusuper

重跑虚节点拉取虚节点的日志信息

parent 86417bd2
package com.byit.service.mapservice.impl; package com.byit.service.mapservice.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil; import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.byit.dto.BeanStrategyPackage; import com.byit.dto.BeanStrategyPackage;
...@@ -173,42 +174,63 @@ public class RunRecordingAndJobTaskServiceImpl implements RunRecordingAndJobTask ...@@ -173,42 +174,63 @@ public class RunRecordingAndJobTaskServiceImpl implements RunRecordingAndJobTask
runRecordingService.saveRunRecording(runRecording); runRecordingService.saveRunRecording(runRecording);
log.info("-----------【虚节点对应节点保存到任务表】--------------"); log.info("-----------【虚节点对应节点保存到任务表】--------------");
//获取所有的节点,开始将所有节点保存到任务表
List<Node> nodeByFlowIdAndVersionName = nodeService.findNodeByFlowIdAndVersionName(mapFlowId);
List<JobTask> jobTasks = nodeByFlowIdAndVersionName.stream()
.map(node -> {
JobTask task = new JobTask();
List<Integer> dependIdByNodeId = nodeDependencyService.findDependIdByNodeId(node.getNodeId());
if(CollectionUtil.isNotEmpty(dependIdByNodeId)){
String parentIds = StringUtils.join(dependIdByNodeId, ",");
task.setNodeDepend(parentIds);
}
BeanUtils.copyProperties(node, task); //如果是重跑
if (equals) { if(ScheduleTypeEnum.REPEAT.getCode().equals(jobTask.getScheduleType())){
task.setTriggerTime(jobTask.getTriggerTime()); //查询日志信息 转换Wie对应的虚节点
} else if (virFlag) { List<JobTaskRunLogWithBLOBs> byFlowIdAndRunIdList = jobTaskRunLogService.findJobTaskRunLogWithBLOBsByFlowIdAndRunId(jobTask.getMapFlowId(), jobTaskRunLog.getReRunId());
task.setTriggerTime(virFlow.getTriggerNextTime()); List<JobTask> collect = byFlowIdAndRunIdList.stream().map(byFlowIdAndRunId -> {
}else { JobTask jobTaskTarget = new JobTask();
task.setTriggerTime(node.getTriggerNextTime()); if(repair) {
try { jobTaskTarget.setOperator(jobTask.getOperator());
node.setTriggerNextTime(new CronExpression(node.getNodeCron()).getNextValidTimeAfter(new Date()).getTime()); }
} catch (ParseException e) { BeanUtil.copyProperties(byFlowIdAndRunId, jobTaskTarget);
e.printStackTrace(); jobTaskTarget.setRunParam(byFlowIdAndRunId.getRunParams());
jobTaskTarget.setTriggerTime(System.currentTimeMillis());
jobTaskTarget.setTriggerStatus("1");
return jobTaskTarget;
}).collect(Collectors.toList());
jobTaskService.saveJobTasks(collect);
}else{
//获取所有的节点,开始将所有节点保存到任务表
List<Node> nodeByFlowIdAndVersionName = nodeService.findNodeByFlowIdAndVersionName(mapFlowId);
List<JobTask> jobTasks = nodeByFlowIdAndVersionName.stream()
.map(node -> {
JobTask task = new JobTask();
List<Integer> dependIdByNodeId = nodeDependencyService.findDependIdByNodeId(node.getNodeId());
if(CollectionUtil.isNotEmpty(dependIdByNodeId)){
String parentIds = StringUtils.join(dependIdByNodeId, ",");
task.setNodeDepend(parentIds);
} }
//TODO 添加节点的下次运行时间修改
}
task.setRunId(jobTask.getRunId());
task.setTriggerStatus("1");
task.setFlowName(runRecording.getFlowName());
if(repair) {
task.setOperator(jobTask.getOperator());
} BeanUtils.copyProperties(node, task);
task.setScheduleType(jobTask.getScheduleType()); if (equals) {
return task; task.setTriggerTime(jobTask.getTriggerTime());
}).collect(Collectors.toList()); } else if (virFlag) {
jobTaskService.saveJobTasks(jobTasks); task.setTriggerTime(virFlow.getTriggerNextTime());
}else {
task.setTriggerTime(node.getTriggerNextTime());
try {
node.setTriggerNextTime(new CronExpression(node.getNodeCron()).getNextValidTimeAfter(new Date()).getTime());
} catch (ParseException e) {
e.printStackTrace();
}
//TODO 添加节点的下次运行时间修改
}
task.setRunId(jobTask.getRunId());
task.setTriggerStatus("1");
task.setFlowName(runRecording.getFlowName());
if(repair) {
task.setOperator(jobTask.getOperator());
}
task.setScheduleType(jobTask.getScheduleType());
return task;
}).collect(Collectors.toList());
jobTaskService.saveJobTasks(jobTasks);
}
log.info("----------------【虚节点保存成功,删除虚节点】--------------------"); log.info("----------------【虚节点保存成功,删除虚节点】--------------------");
jobTaskService.removeMythJobTaskById(jobTask.getId()); jobTaskService.removeMythJobTaskById(jobTask.getId());
log.info("-----------saveRunRecordingAndTask end【虚节点保存服务】--------------"); log.info("-----------saveRunRecordingAndTask end【虚节点保存服务】--------------");
......
...@@ -50,7 +50,7 @@ public class ScriptMakeUpScriptTaskCallbackRunTheLifeCycleCallback implements Ta ...@@ -50,7 +50,7 @@ public class ScriptMakeUpScriptTaskCallbackRunTheLifeCycleCallback implements Ta
boolean isScript = typeByCode.getType().equals(SCRIPT); boolean isScript = typeByCode.getType().equals(SCRIPT);
//是否是重跑或者补批 //是否是重跑或者补批
boolean isNormal = ScheduleTypeEnum.REPEAT.getCode().equals(jobTaskSchedule.getScheduleType()) || ScheduleTypeEnum.REPAIR.getCode().equals(jobTaskSchedule.getScheduleType()); boolean isNormal = ScheduleTypeEnum.REPEAT.getCode().equals(jobTaskSchedule.getScheduleType()) || ScheduleTypeEnum.REPAIR.getCode().equals(jobTaskSchedule.getScheduleType());
return isScript && isNormal; return isScript || isNormal;
} }
/** /**
......
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