私は5分ごとに次のことを知っています:
0 0/5 * * * *
しかし、これが発生する時間数を制限するにはどうすればよいですか?
例:次の10時間は5分ごと。
特定の時間まで1時間ごとに繰り返すことができるトリガーを定義できるはずです。
import static org.quartz.SimpleScheduleBuilder.simpleSchedule;
import static org.quartz.TriggerBuilder.newTrigger;
...
Trigger myTrigger = newTrigger()
.withIdentity('myUniqueTriggerID")
.forJob(myJob)
.startAt(startDate)
.endAt(endDate)
.withSchedule(simpleSchedule().withIntervalInHours(1));
...
scheduler.scheduleJob(myJob, myTrigger);
範囲演算子を使用して時間を指定します。たとえば、午前2時から10時間、5分ごとにジョブを実行する場合:
0 0/5 2-12 * * *
Cronの式と演算子に関する優れたチュートリアルを次に示します。 http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html
編集:2016年10月3日:リンクを更新しました。
Cron式を実行しているCronTrigger
にプログラムでアクセスできる場合、計算された時間範囲でsetStartTime
およびsetEndTime
メソッドを呼び出すことができます。
または、その場でcron式を作成し、計算された時間範囲を指定できます。
たとえば、午前9時にサーバーを起動する場合、実行時にこの式を作成できます0 0/5 9-19 * * *