|
@@ -10,6 +10,8 @@ import org.quartz.*;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.context.annotation.Lazy;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
|
|
|
@Service
|
|
@Service
|
|
@Slf4j
|
|
@Slf4j
|
|
@@ -39,9 +41,10 @@ public class JobService {
|
|
*/
|
|
*/
|
|
public void pauseJob(Integer taskId) throws SchedulerException {
|
|
public void pauseJob(Integer taskId) throws SchedulerException {
|
|
QuartzVO quartzVO=this.generateQuartzVO(taskId);
|
|
QuartzVO quartzVO=this.generateQuartzVO(taskId);
|
|
- TriggerKey triggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
|
|
|
|
- scheduler.pauseTrigger(triggerKey);
|
|
|
|
- scheduler.unscheduleJob(triggerKey);
|
|
|
|
|
|
+ qrTaskService.updateState(taskId,0);
|
|
|
|
+// TriggerKey triggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
|
|
|
|
+// scheduler.pauseTrigger(triggerKey);
|
|
|
|
+// scheduler.unscheduleJob(triggerKey);
|
|
JobKey jobKey = JobKey.jobKey(quartzVO.getJobName(),quartzVO.getJobGroupName());
|
|
JobKey jobKey = JobKey.jobKey(quartzVO.getJobName(),quartzVO.getJobGroupName());
|
|
scheduler.pauseJob(jobKey);
|
|
scheduler.pauseJob(jobKey);
|
|
}
|
|
}
|
|
@@ -53,9 +56,10 @@ public class JobService {
|
|
*/
|
|
*/
|
|
public void resumeJob(Integer taskId) throws SchedulerException {
|
|
public void resumeJob(Integer taskId) throws SchedulerException {
|
|
QuartzVO quartzVO=this.generateQuartzVO(taskId);
|
|
QuartzVO quartzVO=this.generateQuartzVO(taskId);
|
|
- TriggerKey triggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
|
|
|
|
- scheduler.pauseTrigger(triggerKey);
|
|
|
|
- scheduler.unscheduleJob(triggerKey);
|
|
|
|
|
|
+ qrTaskService.updateState(taskId,1);
|
|
|
|
+// TriggerKey triggerKey = TriggerKey.triggerKey(quartzVO.getTriggerName(), quartzVO.getTriggerGroupName());
|
|
|
|
+// scheduler.pauseTrigger(triggerKey);
|
|
|
|
+// scheduler.unscheduleJob(triggerKey);
|
|
JobKey jobKey = JobKey.jobKey(quartzVO.getJobName(), quartzVO.getJobGroupName());
|
|
JobKey jobKey = JobKey.jobKey(quartzVO.getJobName(), quartzVO.getJobGroupName());
|
|
scheduler.resumeJob(jobKey);
|
|
scheduler.resumeJob(jobKey);
|
|
}
|
|
}
|
|
@@ -63,13 +67,16 @@ public class JobService {
|
|
/**
|
|
/**
|
|
* 修改定时任务
|
|
* 修改定时任务
|
|
*
|
|
*
|
|
- * @param cron 新的cron表达式
|
|
|
|
|
|
+ * @param
|
|
*/
|
|
*/
|
|
- public void updateJob(Integer taskId, String cron) {
|
|
|
|
- QuartzVO quartzVO=this.generateQuartzVO(taskId);
|
|
|
|
|
|
+ public void updateJob( QuartzTaskDTO quartzTaskDTO) {
|
|
|
|
+ //更新任务
|
|
|
|
+ QrtzTask qrtzTask= qrTaskService.updateQuartzTask(quartzTaskDTO);
|
|
|
|
+ QuartzVO quartzVO=this.generateQuartzVO(quartzTaskDTO.getTaskId());
|
|
JobDataMap jobDataMap =new JobDataMap();
|
|
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(cron);
|
|
|
|
|
|
+ CronScheduleBuilder scheduleBuilder = CronScheduleBuilder.cronSchedule(quartzTaskDTO.getCron());
|
|
CronTrigger cronTrigger = TriggerBuilder.newTrigger()
|
|
CronTrigger cronTrigger = TriggerBuilder.newTrigger()
|
|
.withIdentity(oldTriggerKey).usingJobData(jobDataMap).withSchedule(scheduleBuilder).build();
|
|
.withIdentity(oldTriggerKey).usingJobData(jobDataMap).withSchedule(scheduleBuilder).build();
|
|
try {
|
|
try {
|
|
@@ -84,6 +91,7 @@ public class JobService {
|
|
*
|
|
*
|
|
* @throws SchedulerException
|
|
* @throws SchedulerException
|
|
*/
|
|
*/
|
|
|
|
+ @Transactional
|
|
public void addJob(QuartzTaskDTO quartzTaskDTO) throws SchedulerException {
|
|
public void addJob(QuartzTaskDTO quartzTaskDTO) throws SchedulerException {
|
|
//添加一条任务记录
|
|
//添加一条任务记录
|
|
QrtzTask qrtzTask= qrTaskService.addQuartzTask(quartzTaskDTO);
|
|
QrtzTask qrtzTask= qrTaskService.addQuartzTask(quartzTaskDTO);
|