web-dev-qa-db-ja.com

次のn時間で5分ごとのCron表現?

私は5分ごとに次のことを知っています:

0 0/5 * * * *

しかし、これが発生する時間数を制限するにはどうすればよいですか?

例:次の10時間は5分ごと。

15
Alex Pi

特定の時間まで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);
6
Morfic

範囲演算子を使用して時間を指定します。たとえば、午前2時から10時間、5分ごとにジョブを実行する場合:

0 0/5 2-12 * * *

Cronの式と演算子に関する優れたチュートリアルを次に示します。 http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/crontrigger.html

編集:2016年10月3日:リンクを更新しました。

12
Khurram

Cron式を実行しているCronTriggerにプログラムでアクセスできる場合、計算された時間範囲でsetStartTimeおよびsetEndTimeメソッドを呼び出すことができます。

または、その場でcron式を作成し、計算された時間範囲を指定できます。

たとえば、午前9時にサーバーを起動する場合、実行時にこの式を作成できます0 0/5 9-19 * * *

2
darrenmc