From 53afee3f4855add907fccead8d0c98ee3ced86b5 Mon Sep 17 00:00:00 2001 From: inrgihc Date: Wed, 29 Oct 2025 21:35:52 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DIssue=E4=B8=AD=E5=8F=8D?= =?UTF-8?q?=E9=A6=88=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dromara/dbswitch/admin/service/ScheduleService.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/service/ScheduleService.java b/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/service/ScheduleService.java index aad67477..ea976525 100644 --- a/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/service/ScheduleService.java +++ b/dbswitch-admin/src/main/java/org/dromara/dbswitch/admin/service/ScheduleService.java @@ -16,6 +16,7 @@ import org.dromara.dbswitch.admin.type.JobStatusEnum; import org.dromara.dbswitch.admin.type.ScheduleModeEnum; import org.dromara.dbswitch.admin.entity.AssignmentJobEntity; import org.dromara.dbswitch.admin.entity.AssignmentTaskEntity; +import org.dromara.dbswitch.admin.util.CronExprUtils; import org.dromara.dbswitch.common.event.EventSubscriber; import org.dromara.dbswitch.common.event.ExceptionHandler; import org.dromara.dbswitch.common.event.ListenedEvent; @@ -30,6 +31,7 @@ import javax.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.quartz.CronScheduleBuilder; +import org.quartz.DateBuilder; import org.quartz.JobBuilder; import org.quartz.JobDetail; import org.quartz.JobKey; @@ -116,7 +118,11 @@ public class ScheduleService implements InitializingBean, ExceptionHandler { JobDetail jobDetail = jobBuilder.storeDurably(true).build(); Trigger cronTrigger = TriggerBuilder.newTrigger() .withIdentity(triggerKey) - .withSchedule(CronScheduleBuilder.cronSchedule(task.getCronExpression())) + .withSchedule( + CronScheduleBuilder.cronSchedule(task.getCronExpression()) + .withMisfireHandlingInstructionDoNothing() + ) + .startAt(DateBuilder.futureDate(CronExprUtils.MIN_INTERVAL_SECONDS, DateBuilder.IntervalUnit.SECOND)) .build(); try { scheduler.scheduleJob(jobDetail, cronTrigger);