cron4jを使用すると、将来実行するジョブを設定できます。
Scheduler s = new Scheduler();
s.schedule("5 10 * * *", job);
s.start();
cron4jを使用して、ジョブを「次の土曜日」または「2012年12月21日」に開始するようにスケジュールできますか?
cron4jを使用すると、将来実行するジョブを設定できます。
Scheduler s = new Scheduler();
s.schedule("5 10 * * *", job);
s.start();
cron4jを使用して、ジョブを「次の土曜日」または「2012年12月21日」に開始するようにスケジュールできますか?
* * * * * command to be executed
- - - - -
| | | | |
| | | | +----- day of week (0 - 6) (Sunday=0)
| | | +------- month (1 - 12)
| | +--------- day of month (1 - 31)
| +----------- hour (0 - 23)
+------------- min (0 - 59)
これは、コマンド構造の基本的な内訳です。21がどのように見えるかを開始します
0 0 21 12 *
しかし、これは毎年12か月のうち21か月にのみ実行されます。
年を定義できるかどうかはminute hour day month day_of_week (year)
わかりませんが、フィールドがあるので、少なくとも次の式を使用して2012年12月21日にジョブを実行できるはずです0 0 21 12 ? 2012
。
編集:cron4jはオプションの年式をサポートしていないようです。そのため、0 0 21 12 *
毎年12月21日にジョブを定義して実行することができるようです。
はい。例えば:
0 0 21 12 *
これは、12月21日の午前12:00にこれを実行すると言います。
Chron構文は、年の設定を厳密にサポートしていませんが、このジョブを今日設定すると、次にその日付を超えたときに実行されます。
注:もう1つの回答は、年の列を追加することを提案しています。これを含めると、動作は完全に予測可能ではなくなります。使用しているchronの実装によって異なります。