|
@@ -21,13 +21,14 @@ public class JobService {
|
|
private final Scheduler scheduler;
|
|
private final Scheduler scheduler;
|
|
|
|
|
|
private final QrTaskService qrTaskService;
|
|
private final QrTaskService qrTaskService;
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 删除job
|
|
* 删除job
|
|
*
|
|
*
|
|
* @throws SchedulerException
|
|
* @throws SchedulerException
|
|
*/
|
|
*/
|
|
public void deleteJob(Integer taskId) throws SchedulerException {
|
|
public void deleteJob(Integer taskId) throws SchedulerException {
|
|
- QuartzVO quartzVO=this.generateQuartzVO(taskId);
|
|
|
|
|
|
+ QuartzVO quartzVO = this.generateQuartzVO(taskId);
|
|
TriggerKey triggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
|
|
TriggerKey triggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
|
|
scheduler.pauseTrigger(triggerKey);
|
|
scheduler.pauseTrigger(triggerKey);
|
|
scheduler.unscheduleJob(triggerKey);
|
|
scheduler.unscheduleJob(triggerKey);
|
|
@@ -35,15 +36,16 @@ public class JobService {
|
|
scheduler.deleteJob(jobKey);
|
|
scheduler.deleteJob(jobKey);
|
|
qrTaskService.removeById(taskId);
|
|
qrTaskService.removeById(taskId);
|
|
}
|
|
}
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* 暂停job
|
|
* 暂停job
|
|
*
|
|
*
|
|
* @throws SchedulerException
|
|
* @throws SchedulerException
|
|
*/
|
|
*/
|
|
public void pauseJob(Integer taskId) throws SchedulerException {
|
|
public void pauseJob(Integer taskId) throws SchedulerException {
|
|
- QuartzVO quartzVO=this.generateQuartzVO(taskId);
|
|
|
|
- qrTaskService.updateState(taskId,0);
|
|
|
|
- JobKey jobKey = JobKey.jobKey(quartzVO.getJobName(),quartzVO.getJobGroupName());
|
|
|
|
|
|
+ QuartzVO quartzVO = this.generateQuartzVO(taskId);
|
|
|
|
+ qrTaskService.updateState(taskId, 0);
|
|
|
|
+ JobKey jobKey = JobKey.jobKey(quartzVO.getJobName(), quartzVO.getJobGroupName());
|
|
scheduler.pauseJob(jobKey);
|
|
scheduler.pauseJob(jobKey);
|
|
}
|
|
}
|
|
|
|
|
|
@@ -53,8 +55,8 @@ public class JobService {
|
|
* @throws SchedulerException
|
|
* @throws SchedulerException
|
|
*/
|
|
*/
|
|
public void resumeJob(Integer taskId) throws SchedulerException {
|
|
public void resumeJob(Integer taskId) throws SchedulerException {
|
|
- QuartzVO quartzVO=this.generateQuartzVO(taskId);
|
|
|
|
- qrTaskService.updateState(taskId,1);
|
|
|
|
|
|
+ QuartzVO quartzVO = this.generateQuartzVO(taskId);
|
|
|
|
+ qrTaskService.updateState(taskId, 1);
|
|
JobKey jobKey = JobKey.jobKey(quartzVO.getJobName(), quartzVO.getJobGroupName());
|
|
JobKey jobKey = JobKey.jobKey(quartzVO.getJobName(), quartzVO.getJobGroupName());
|
|
scheduler.resumeJob(jobKey);
|
|
scheduler.resumeJob(jobKey);
|
|
}
|
|
}
|
|
@@ -64,12 +66,12 @@ public class JobService {
|
|
*
|
|
*
|
|
* @param
|
|
* @param
|
|
*/
|
|
*/
|
|
- public void updateJob( QrtzTask qrtzTask) {
|
|
|
|
|
|
+ public void updateJob(QrtzTask qrtzTask) {
|
|
//更新任务
|
|
//更新任务
|
|
|
|
|
|
- QuartzVO quartzVO=this.generateQuartzVO(qrtzTask.getId());
|
|
|
|
- JobDataMap jobDataMap =new JobDataMap();
|
|
|
|
- jobDataMap.put("qrtzTask",qrtzTask);
|
|
|
|
|
|
+ QuartzVO quartzVO = this.generateQuartzVO(qrtzTask.getId());
|
|
|
|
+ JobDataMap jobDataMap = new JobDataMap();
|
|
|
|
+ jobDataMap.put("qrtzTask", qrtzTask);
|
|
TriggerKey oldTriggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
|
|
TriggerKey oldTriggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
|
|
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(qrtzTask.getCrons());
|
|
CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(qrtzTask.getCrons());
|
|
CronTrigger cronTrigger = TriggerBuilder.newTrigger()
|
|
CronTrigger cronTrigger = TriggerBuilder.newTrigger()
|
|
@@ -89,25 +91,31 @@ public class JobService {
|
|
@Transactional
|
|
@Transactional
|
|
public void addJob(QrtzTask qrtzTask) throws SchedulerException {
|
|
public void addJob(QrtzTask qrtzTask) throws SchedulerException {
|
|
//添加一条任务记录
|
|
//添加一条任务记录
|
|
-
|
|
|
|
- QuartzVO quartzVO=this.generateQuartzVO(qrtzTask.getId());
|
|
|
|
- JobDataMap jobDataMap =new JobDataMap();
|
|
|
|
- jobDataMap.put("qrtzTask",qrtzTask);
|
|
|
|
|
|
+ QuartzVO quartzVO = this.generateQuartzVO(qrtzTask.getId());
|
|
|
|
+ JobDataMap jobDataMap = new JobDataMap();
|
|
|
|
+ jobDataMap.put("qrtzTask", qrtzTask);
|
|
CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(qrtzTask.getCrons());
|
|
CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(qrtzTask.getCrons());
|
|
- JobDetail jobDetail = JobBuilder.newJob(TaskAddJob.class).withIdentity(quartzVO.getJobName(),quartzVO.getJobGroupName()).build();
|
|
|
|
- Trigger trigger = TriggerBuilder.newTrigger().withIdentity(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName())
|
|
|
|
- .withSchedule(cronScheduleBuilder).usingJobData(jobDataMap).build();
|
|
|
|
|
|
+ JobDetail jobDetail = JobBuilder
|
|
|
|
+ .newJob(TaskAddJob.class)
|
|
|
|
+ .withIdentity(quartzVO.getJobName(), quartzVO.getJobGroupName())
|
|
|
|
+ .build();
|
|
|
|
+ Trigger trigger = TriggerBuilder
|
|
|
|
+ .newTrigger()
|
|
|
|
+ .withIdentity(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName())
|
|
|
|
+ .withSchedule(cronScheduleBuilder)
|
|
|
|
+ .usingJobData(jobDataMap)
|
|
|
|
+ .build();
|
|
scheduler.scheduleJob(jobDetail, trigger);
|
|
scheduler.scheduleJob(jobDetail, trigger);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
- public QuartzVO generateQuartzVO(Integer taskId){
|
|
|
|
- QuartzVO quartzVO =new QuartzVO();
|
|
|
|
- quartzVO.setJobName("Job_"+taskId);
|
|
|
|
- quartzVO.setJobGroupName("Default");
|
|
|
|
- quartzVO.setTriggerName("Trigger_"+taskId);
|
|
|
|
- quartzVO.setTriggerGroupName("Default");
|
|
|
|
- return quartzVO;
|
|
|
|
|
|
+ public QuartzVO generateQuartzVO(Integer taskId) {
|
|
|
|
+ QuartzVO quartzVO = new QuartzVO();
|
|
|
|
+ quartzVO.setJobName("Job_" + taskId);
|
|
|
|
+ quartzVO.setJobGroupName("Default");
|
|
|
|
+ quartzVO.setTriggerName("Trigger_" + taskId);
|
|
|
|
+ quartzVO.setTriggerGroupName("Default");
|
|
|
|
+ return quartzVO;
|
|
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|