Commit 8756df92 by huangfusuper

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

parent 86417bd2
package com.byit.service.mapservice.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.alibaba.fastjson.JSON;
import com.byit.dto.BeanStrategyPackage;
......@@ -173,42 +174,63 @@ public class RunRecordingAndJobTaskServiceImpl implements RunRecordingAndJobTask
runRecordingService.saveRunRecording(runRecording);
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) {
task.setTriggerTime(jobTask.getTriggerTime());
} else if (virFlag) {
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();
//如果是重跑
if(ScheduleTypeEnum.REPEAT.getCode().equals(jobTask.getScheduleType())){
//查询日志信息 转换Wie对应的虚节点
List<JobTaskRunLogWithBLOBs> byFlowIdAndRunIdList = jobTaskRunLogService.findJobTaskRunLogWithBLOBsByFlowIdAndRunId(jobTask.getMapFlowId(), jobTaskRunLog.getReRunId());
List<JobTask> collect = byFlowIdAndRunIdList.stream().map(byFlowIdAndRunId -> {
JobTask jobTaskTarget = new JobTask();
if(repair) {
jobTaskTarget.setOperator(jobTask.getOperator());
}
BeanUtil.copyProperties(byFlowIdAndRunId, jobTaskTarget);
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());
}
task.setScheduleType(jobTask.getScheduleType());
return task;
}).collect(Collectors.toList());
jobTaskService.saveJobTasks(jobTasks);
BeanUtils.copyProperties(node, task);
if (equals) {
task.setTriggerTime(jobTask.getTriggerTime());
} else if (virFlag) {
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("----------------【虚节点保存成功,删除虚节点】--------------------");
jobTaskService.removeMythJobTaskById(jobTask.getId());
log.info("-----------saveRunRecordingAndTask end【虚节点保存服务】--------------");
......
......@@ -50,7 +50,7 @@ public class ScriptMakeUpScriptTaskCallbackRunTheLifeCycleCallback implements Ta
boolean isScript = typeByCode.getType().equals(SCRIPT);
//是否是重跑或者补批
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