fix:bug修复
This commit is contained in:
@@ -2,7 +2,7 @@ server:
|
||||
port: 30030
|
||||
spring:
|
||||
profiles:
|
||||
active: prod
|
||||
active: test
|
||||
application:
|
||||
name: xservice-quartz-admin
|
||||
main:
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user