malei05 hace 1 mes
padre
commit
db9e1744da

+ 26 - 29
src/main/java/net/yyc/quartz/config/QuartzInitJob.java

@@ -17,12 +17,12 @@
 
 package net.yyc.quartz.config;
 
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
 import net.yyc.quartz.constants.QuartzEnum;
 import net.yyc.quartz.entity.SysJob;
 import net.yyc.quartz.service.SysJobService;
 import net.yyc.quartz.util.TaskUtil;
-import lombok.AllArgsConstructor;
-import lombok.extern.slf4j.Slf4j;
 import org.quartz.Scheduler;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
@@ -39,35 +39,32 @@ import java.util.List;
 @AllArgsConstructor
 public class QuartzInitJob {
 
-	private final SysJobService sysJobService;
+    private final SysJobService sysJobService;
 
-	private final TaskUtil taskUtil;
+    private final TaskUtil taskUtil;
 
-	private final Scheduler scheduler;
+    private final Scheduler scheduler;
 
-	@Bean
-	public void customize() {
-		List<SysJob> jobList = sysJobService.list();
-		log.info("========== 开始加载定时任务,共 {} 条 ==========", jobList.size());
-		jobList.forEach(sysjob -> {
-			if (QuartzEnum.JOB_STATUS_RELEASE.getType().equals(sysjob.getJobStatus())) {
-				log.info("[QUARTZ] [INIT] 移除 | jobId={} jobName={} 状态=已发布", sysjob.getJobId(), sysjob.getJobName());
-				taskUtil.removeJob(sysjob, scheduler);
-			}
-			else if (QuartzEnum.JOB_STATUS_RUNNING.getType().equals(sysjob.getJobStatus())) {
-				log.info("[QUARTZ] [INIT] 调度 | jobId={} jobName={}", sysjob.getJobId(), sysjob.getJobName());
-				taskUtil.addOrUpdateJob(sysjob, scheduler);
-			}
-			else if (QuartzEnum.JOB_STATUS_NOT_RUNNING.getType().equals(sysjob.getJobStatus())) {
-				log.info("[QUARTZ] [INIT] 暂停 | jobId={} jobName={}", sysjob.getJobId(), sysjob.getJobName());
-				taskUtil.addOrUpdateJob(sysjob, scheduler);
-			}
-			else {
-				log.info("[QUARTZ] [INIT] 移除 | jobId={} jobName={} 状态={}", sysjob.getJobId(), sysjob.getJobName(), sysjob.getJobStatus());
-				taskUtil.removeJob(sysjob, scheduler);
-			}
-		});
-		log.info("========== 定时任务加载完成 ==========");
-	}
+    @Bean
+    public void customize() {
+        List<SysJob> jobList = sysJobService.list();
+        log.info("========== 开始加载定时任务,共 {} 条 ==========", jobList.size());
+        jobList.forEach(sysjob -> {
+            if (QuartzEnum.JOB_STATUS_RELEASE.getType().equals(sysjob.getJobStatus())) {
+                log.info("[QUARTZ] [INIT] 移除 | jobId={} jobName={} 状态=已发布", sysjob.getJobId(), sysjob.getJobName());
+                taskUtil.removeJob(sysjob, scheduler);
+            } else if (QuartzEnum.JOB_STATUS_RUNNING.getType().equals(sysjob.getJobStatus())) {
+                log.info("[QUARTZ] [INIT] 调度 | jobId={} jobName={}", sysjob.getJobId(), sysjob.getJobName());
+                taskUtil.addOrUpdateJob(sysjob, scheduler);
+            } else if (QuartzEnum.JOB_STATUS_NOT_RUNNING.getType().equals(sysjob.getJobStatus())) {
+                log.info("[QUARTZ] [INIT] 暂停 | jobId={} jobName={}", sysjob.getJobId(), sysjob.getJobName());
+                taskUtil.addOrUpdateJob(sysjob, scheduler);
+            } else {
+                log.info("[QUARTZ] [INIT] 移除 | jobId={} jobName={} 状态={}", sysjob.getJobId(), sysjob.getJobName(), sysjob.getJobStatus());
+                taskUtil.removeJob(sysjob, scheduler);
+            }
+        });
+        log.info("========== 定时任务加载完成 ==========");
+    }
 
 }

+ 2 - 0
src/main/java/net/yyc/quartz/util/TaskUtil.java

@@ -60,6 +60,7 @@ public class TaskUtil {
             trigger = (CronTrigger) scheduler.getTrigger(triggerKey);
             // 判断触发器是否存在(如果存在说明之前运行过但是在当前被禁用了,如果不存在说明一次都没运行过)
             if (trigger == null) {
+                log.info("不存在,新增定时任务:" + sysjob.getJobName());
                 // 新建一个工作任务 指定任务类型为串接进行的
                 JobDetail jobDetail = JobBuilder.newJob(QuartzFactory.class).withIdentity(jobKey).build();
                 // 将任务信息添加到任务信息中
@@ -73,6 +74,7 @@ public class TaskUtil {
                 // 在调度器中将触发器和任务进行组合
                 scheduler.scheduleJob(jobDetail, trigger);
             } else {
+                log.info("已经存在的定时任务:" + sysjob.getJobName());
                 CronScheduleBuilder cronScheduleBuilder = CronScheduleBuilder.cronSchedule(sysjob.getCronExpression());
                 cronScheduleBuilder = this.handleCronScheduleMisfirePolicy(sysjob, cronScheduleBuilder);
                 // 按照新的规则进行