0

クラスターで実行してQuartzおり、定期的にジョブを実行しています。ジョブは 1 台のマシンで開始され、他のマシンは次の実行時まで保持されます。

ここで必要なのは、前の呼び出しがまだ完了していない場合に、ジョブの呼び出しを遅らせることです。例えば:

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 分ごとに 1 回トリガーされます ( 0 0/10 * * *)。

4

1 に答える 1