Commit 7b0e1073 by guo_minglei@163.com

删除无用类

parent f8c95856
package com.byit.thread.helper;
import cn.hutool.core.collection.CollectionUtil;
import com.byit.enums.FlowPropertyEnum;
import com.byit.enums.ScheduleEnum;
import com.byit.model.JobTask;
import com.byit.model.JobTaskSchedule;
import com.byit.service.JobTaskService;
import com.byit.service.mapservice.RunRecordingAndJobTaskService;
import com.byit.thread.BaseThreadRunHelper;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import javax.sql.DataSource;
import java.util.ArrayList;
import java.util.List;
/**
* 特殊情况的工作流扫描
* @author huangfu
*/
@Slf4j
public class SpecialFlowThreadRunHelper extends BaseThreadRunHelper {
/**
* 读取任务节点的预读
*/
private static final long PRE_READ_MS = 7000;
private static final String LOCK_NAME = "special_flow_lock";
private final DataSource dataSource;
private final JobTaskService jobTaskService;
/**
* 运行实例和task的组合操作
*/
private final RunRecordingAndJobTaskService runRecordingAndJobTaskService;
public SpecialFlowThreadRunHelper(DataSource dataSource, JobTaskService jobTaskService, RunRecordingAndJobTaskService runRecordingAndJobTaskService) {
this.dataSource = dataSource;
this.jobTaskService = jobTaskService;
this.runRecordingAndJobTaskService = runRecordingAndJobTaskService;
}
@Override
public Long start() {
long nowTime = System.currentTimeMillis();
//开始寻找此时 不是暂停状态,而且七秒内即将运行的任务 而且还不是暂停的节点
List<JobTask> repairs = jobTaskService.findJobTaskByTriggerNextTimeLessThanEqual(nowTime + PRE_READ_MS, ScheduleEnum.REPAIR.getCode());
List<JobTask> repeats = jobTaskService.findJobTaskByTriggerNextTimeLessThanEqual(nowTime + PRE_READ_MS, ScheduleEnum.REPEAT.getCode());
List<JobTask> jobTasks = new ArrayList<>(8);
if(CollectionUtil.isNotEmpty(repairs)){
jobTasks.addAll(repairs);
}
if(CollectionUtil.isNotEmpty(repeats)){
jobTasks.addAll(repeats);
}
if(CollectionUtil.isNotEmpty(jobTasks)) {
List<JobTaskSchedule> jobTaskSchedules = new ArrayList<>(15);
for (JobTask jobTask : jobTasks) {
//获取上级节点
String nodeDepend = jobTask.getNodeDepend();
if(FlowPropertyEnum.IS_INNER.getCode().equals(jobTask.getIsVirtual())) {
//虚节点处理操作
innerNodeOperating(jobTask);
}else{
//判断上级节点是否存在 不存在 直接跑,存在则进行判断
if(StringUtils.isNotBlank(nodeDepend)){
String[] split = nodeDepend.split(",");
}else{
}
}
}
}
return null;
}
/**
* 内嵌节点处理操作
* @param thisJobTask 当前的任务节点
*/
private void innerNodeOperating(JobTask thisJobTask){
try {
runRecordingAndJobTaskService.saveRunRecordingAndTask(thisJobTask);
} catch (Exception e) {
log.error("--------------------虚节点处理出现异常{}------------------",e.getMessage());
}
}
@Override
public DataSource getDataSource() {
return dataSource;
}
@Override
public String getLockName() {
return LOCK_NAME;
}
}
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