gpt4 book ai didi

java - Quartz 不会延迟集群环境中已经启动的作业

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

我有 Quartz 在集群中运行,并且我确实定期运行作业。该作业在一台机器上启动,其他机器将保留到下一次执行时间。

我现在想要的是,如果上一个调用尚未完成,则延迟作业调用。例如:

10:00 - instance invocation#1
10:06 - invocation#1 finished
10:10 - instance invocation#2
10:13 - invocation#2 finished
10:20 - instance invocation#3
10:31 - invocation#3 finished // took longer than expected
10:31 - instance invocation#4 // start delayed
10:35 - invocation#4 finished

即使这样也是可以接受的:

10:00 - instance invocation#1
10:06 - invocation#1 finished
10:10 - instance invocation#2
10:13 - invocation#2 finished
10:20 - instance invocation#3
10:31 - invocation#3 finished // took longer than expected
10:40 - instance invocation#4 // waits for next timed invocation
10:44 - invocation#4 finished

我使用类似触发器的 cron 表达式,每 10 分钟触发一次 (0 0/10 * * *)。

最佳答案

使用 @DisallowConcurrentExecution 注释您的作业应该可以解决问题。

关于java - Quartz 不会延迟集群环境中已经启动的作业,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45844981/

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