私は50秒ごとにcron式でQuartzを使用してジョブを実行しています:
Cron_Expression = "0/50 * * * * ?"
何が起こるかというと、私の仕事は秒単位で実行されます:50、60、50、60、...そして50秒ごとではありません!2番目の「0」では実行されません。
0から始まる50秒ごとの正しいcron式は何ですか?
私は50秒ごとにcron式でQuartzを使用してジョブを実行しています:
Cron_Expression = "0/50 * * * * ?"
何が起こるかというと、私の仕事は秒単位で実行されます:50、60、50、60、...そして50秒ごとではありません!2番目の「0」では実行されません。
0から始まる50秒ごとの正しいcron式は何ですか?
「/」構文は、繰り返し間隔ではなく、期間中の増分を指定します。確かに微妙で紛らわしい違いです。
この場合、1 分間に使用できる増分は 1 つだけ (50 秒) です。最初の数字は、開始する値を指定します。この場合は 0 です。「/」の前に「*」を指定することは、0 を指定することと同じです。したがって、ジョブは 1 分 (0 と 60 は交換可能) および 50 秒でのみ起動します。 .
期間を複数の増分 (0/10 など) で分割できる場合は、10、20、30 秒などの各時間でそれぞれが起動します。
一定の間隔でジョブをトリガーする場合は、QuartzSimpleTrigger
をrepeatInterval
指定して使用できます。