gpt4 book ai didi

java - nextFireTime 和开始时间不一致

转载 作者:行者123 更新时间:2023-12-02 07:14:40 25 4
gpt4 key购买 nike

我正在尝试创建一个每天上午 10:00 运行的 quartz 作业,但首先在上午 9:30 开始。我使用开始时间和 cron 表达式来执行此操作,如下所示:

CronTrigger newTrigger = newTrigger().withIdentity(jobName + i, jobName)
.startAt(startTime).endAt(endTime).withSchedule(cronSchedule(cronExpression)
.withMisfireHandlingInstructionFireAndProceed().inTimeZone(timeZone)).build();

cron 表达式为:

0 0 10 * * ?

但是作业在上午 10:00 开始运行(并忽略开始时间)。如果我查看数据库中的 qrtz_triggers 表,我会发现 start_time 确实是 9:30,但 next_fire_time 是 10:00。

我在这里做错了什么?

最佳答案

开始和结束时间是 cron 计划处于 Activity 状态的窗口。他们没有指定触发器第一次和最后一次被触发的时间。

例如,每小时触发一次、开始时间为上午 9:30、结束时间为下午 6:30 的计划将在此期间的整点触发。

在您的情况下,这并不相关,因为您的 cron 计划是每天上午 10 点一次,并且这位于开始和结束时间窗口内。

如果您想在每天上午 9:30 和上午 10 点触发一个作业,那么最简单的方法是创建两个调用同一个作业的 cron 触发器。

关于java - nextFireTime 和开始时间不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15084882/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com