我让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表达式like触发器,它每10分钟触发一次(0 0/10 * * *)。
发布于 2017-08-24 00:46:59
使用@DisallowConcurrentExecution注释您的工作应该可以做到这一点。
https://stackoverflow.com/questions/45844981
复制相似问题