diff --git a/xservice-quartz-admin/src/main/resources/application.yml b/xservice-quartz-admin/src/main/resources/application.yml index 4f740e6..27558fa 100644 --- a/xservice-quartz-admin/src/main/resources/application.yml +++ b/xservice-quartz-admin/src/main/resources/application.yml @@ -2,7 +2,7 @@ server: port: 30030 spring: profiles: - active: prod + active: test application: name: xservice-quartz-admin main: diff --git a/xservice-quartz-core/src/main/java/com/xiang/core/quartz/schedule/JobScheduler.java b/xservice-quartz-core/src/main/java/com/xiang/core/quartz/schedule/JobScheduler.java index d7bcdc2..589d314 100644 --- a/xservice-quartz-core/src/main/java/com/xiang/core/quartz/schedule/JobScheduler.java +++ b/xservice-quartz-core/src/main/java/com/xiang/core/quartz/schedule/JobScheduler.java @@ -38,7 +38,7 @@ public class JobScheduler { // 1️⃣ 未配置 or 未启用 → 停止 if (Objects.isNull(cfg) || Objects.equals(cfg.getJobSwitch(), 0)) { job.setCron(null); - cancel(jobName); + cancel(job); return; } @@ -51,20 +51,21 @@ public class JobScheduler { } // 3️⃣ 先取消旧任务 - cancel(jobName); + cancel(job); // 4️⃣ 创建新任务 job.setCron(newCron); + job.setEnabled(true); ScheduledFuture future = this.schedule(job); scheduledTasks.put(jobName, future); } - private void cancel(String jobName) { - ScheduledFuture future = scheduledTasks.remove(jobName); + private void cancel(JobDefinition job) { + ScheduledFuture future = scheduledTasks.remove(job.getName()); if (future != null) { // false 不中断当前任务,等待任务完成 future.cancel(true); - + triggerRoute.route(job).cancel(job.getName()); } } } diff --git a/xservice-quartz-core/src/main/java/com/xiang/core/quartz/trigger/LocalJobTrigger.java b/xservice-quartz-core/src/main/java/com/xiang/core/quartz/trigger/LocalJobTrigger.java index 3cfc868..815e3b4 100644 --- a/xservice-quartz-core/src/main/java/com/xiang/core/quartz/trigger/LocalJobTrigger.java +++ b/xservice-quartz-core/src/main/java/com/xiang/core/quartz/trigger/LocalJobTrigger.java @@ -23,7 +23,7 @@ public class LocalJobTrigger implements JobTrigger { @Override public void trigger(JobDefinition job) { if (!job.isEnabled()) { - log.info("job {} disabled, skip execution", job.getName()); +// log.info("job {} disabled, skip execution", job.getName()); return; } @@ -32,7 +32,7 @@ public class LocalJobTrigger implements JobTrigger { ); if (!flag.compareAndSet(false, true)) { - log.warn("job {} is already running, skip", job.getName()); +// log.warn("job {} is already running, skip", job.getName()); return; }