Commit e4561ec4 by guo_minglei@163.com

立即运行类quartz任务

parent e3240a43
......@@ -77,4 +77,10 @@ public class ApiNodeController {
return ResponseResult.ok(jobTaskRunLogList);
}
@PostMapping("runJavaTask")
public ResponseResult runJavaTask(String jobName){
apiNodeService.runJavaTask(jobName);
return ResponseResult.ok("SUCCESS");
}
}
......@@ -78,4 +78,6 @@ public interface ApiNodeService {
List<JobTaskRunLog> loadLogByJobName(String param);
List<JobTaskRunLog> loadLogByTaskName(String param);
void runJavaTask(String jobName);
}
......@@ -6,6 +6,7 @@ import com.byit.dto.plugin.JavaTask;
import com.byit.dto.plugin.RunLog;
import com.byit.dto.plugin.RunNode;
import com.byit.enums.NodePropertyEnum;
import com.byit.enums.NodeTypeEnum;
import com.byit.enums.ScheduleTypeEnum;
import com.byit.job.WorkRoulette;
import com.byit.job.utils.CronExpression;
......@@ -29,6 +30,7 @@ import javax.annotation.Resource;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.UUID;
import static com.alibaba.fastjson.serializer.SerializerFeature.WriteClassName;
......@@ -201,6 +203,38 @@ public class ApiNodeServiceImpl implements ApiNodeService {
return jobTaskRunLogList;
}
@Override
public void runJavaTask(String jobName) {
ValidationUtil.dataNotBank(jobName, "jobName不允许为空!");
JavaTask javaTask = javaTaskMapper.findByJobName(jobName);
ValidationUtil.dataNotNull(javaTask, "没有此任务实例!");
Long triggerTime = System.currentTimeMillis();
String runId = UUID.randomUUID().toString().replace("-","");
JobTaskSchedule schedule = new JobTaskSchedule();
schedule.setNodeId(Integer.valueOf(javaTask.getId()));
schedule.setRunId(runId);
schedule.setNodeName(javaTask.getJobName());
schedule.setIsVirtual(NodePropertyEnum.ISNOT_VIRTUAL.getCode());
schedule.setJobType(NodeTypeEnum.JAVA.getCode());
schedule.setTriggerTime(triggerTime);
schedule.setScheduleType(ScheduleTypeEnum.JAVA_SYNC.getCode());
schedule.setRunParam(PlaceholderUtils.formatParam(javaTask.getParam()));
JobTaskRunLogWithBLOBs jobTaskRunLog = new JobTaskRunLogWithBLOBs();
BeanUtils.copyProperties(schedule, jobTaskRunLog);
jobTaskRunLogMapper.saveJobTaskRunLog(jobTaskRunLog);
//获取日志id
Integer logId= jobTaskRunLog.getLogId();
//设置日志id
schedule.setLogId(logId);
TimerTask timerTask = new ScriptExecutorJobTask(schedule);
WorkRoulette.addJob(timerTask, triggerTime);
}
private JavaTask validate(String param) throws Exception {
ValidationUtil.dataNotBank(param, "请求参数不允许为空!");
JavaTask javaTask = JSON.parseObject(param, JavaTask.class);
......
......@@ -66,7 +66,7 @@ public class JavaTask implements Serializable {
private Date updateTime;
/**
* 当前工作流版本的告警的时机(0 不告警, 1 完成时告警, 2 失败时告警, 3 成功时告警)
* 当前节点的告警的时机(0 不告警, 1 完成时告警, 2 失败时告警, 3 成功时告警)
*/
private String alarmlAction;
......
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