【发布时间】:2013-05-17 15:13:34
【问题描述】:
我正在使用带有 Spring 的 Quartz 来安排作业。我有一份计划每小时运行一次的工作。问题是,当预定的作业需要一个多小时时,作业的“下一次触发时间”仍然是旧时间并且不会被触发(因为触发时间已经过去)。
我的问题是,如果工作花费的时间比预定时间长,我们如何更改“下一次启动时间”?
【问题讨论】:
标签: java spring quartz-scheduler
我正在使用带有 Spring 的 Quartz 来安排作业。我有一份计划每小时运行一次的工作。问题是,当预定的作业需要一个多小时时,作业的“下一次触发时间”仍然是旧时间并且不会被触发(因为触发时间已经过去)。
我的问题是,如果工作花费的时间比预定时间长,我们如何更改“下一次启动时间”?
【问题讨论】:
标签: java spring quartz-scheduler
尝试使用@DisallowConcurrentExecution 注解。有了这个,您可以确保在某个时间点只执行一个作业实例,即(只有一个 jobdetail 实例)。 因此,如果您的工作花费的时间超过 1 小时,则此注释将停止 其他实例(即其他实例将等到第一个正在运行的作业完成执行)。
我只是猜测...不确定它是否会起作用。
【讨论】: