fix:bug修复
This commit is contained in:
@@ -2,7 +2,7 @@ server:
|
|||||||
port: 30030
|
port: 30030
|
||||||
spring:
|
spring:
|
||||||
profiles:
|
profiles:
|
||||||
active: prod
|
active: test
|
||||||
application:
|
application:
|
||||||
name: xservice-quartz-admin
|
name: xservice-quartz-admin
|
||||||
main:
|
main:
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ public class JobScheduler {
|
|||||||
// 1️⃣ 未配置 or 未启用 → 停止
|
// 1️⃣ 未配置 or 未启用 → 停止
|
||||||
if (Objects.isNull(cfg) || Objects.equals(cfg.getJobSwitch(), 0)) {
|
if (Objects.isNull(cfg) || Objects.equals(cfg.getJobSwitch(), 0)) {
|
||||||
job.setCron(null);
|
job.setCron(null);
|
||||||
cancel(jobName);
|
cancel(job);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -51,20 +51,21 @@ public class JobScheduler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 3️⃣ 先取消旧任务
|
// 3️⃣ 先取消旧任务
|
||||||
cancel(jobName);
|
cancel(job);
|
||||||
// 4️⃣ 创建新任务
|
// 4️⃣ 创建新任务
|
||||||
job.setCron(newCron);
|
job.setCron(newCron);
|
||||||
|
job.setEnabled(true);
|
||||||
ScheduledFuture<?> future = this.schedule(job);
|
ScheduledFuture<?> future = this.schedule(job);
|
||||||
scheduledTasks.put(jobName, future);
|
scheduledTasks.put(jobName, future);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void cancel(String jobName) {
|
private void cancel(JobDefinition job) {
|
||||||
ScheduledFuture<?> future = scheduledTasks.remove(jobName);
|
ScheduledFuture<?> future = scheduledTasks.remove(job.getName());
|
||||||
if (future != null) {
|
if (future != null) {
|
||||||
// false 不中断当前任务,等待任务完成
|
// false 不中断当前任务,等待任务完成
|
||||||
future.cancel(true);
|
future.cancel(true);
|
||||||
|
triggerRoute.route(job).cancel(job.getName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ public class LocalJobTrigger implements JobTrigger {
|
|||||||
@Override
|
@Override
|
||||||
public void trigger(JobDefinition job) {
|
public void trigger(JobDefinition job) {
|
||||||
if (!job.isEnabled()) {
|
if (!job.isEnabled()) {
|
||||||
log.info("job {} disabled, skip execution", job.getName());
|
// log.info("job {} disabled, skip execution", job.getName());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -32,7 +32,7 @@ public class LocalJobTrigger implements JobTrigger {
|
|||||||
);
|
);
|
||||||
|
|
||||||
if (!flag.compareAndSet(false, true)) {
|
if (!flag.compareAndSet(false, true)) {
|
||||||
log.warn("job {} is already running, skip", job.getName());
|
// log.warn("job {} is already running, skip", job.getName());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user