本文へスキップ
cron.surf

Quartz の cron を AWS EventBridge に変換

Quartz のフィールドは 秒 分 時 日 月 曜日 [年]、AWS EventBridge は cron(分 時 日 月 曜日 年) です。式を貼り付けると変換します。正確に対応しない部分は理由と代替案を示します。

“09:00、月曜日から金曜日まで”

変換先 · AWS EventBridge同等
cron(0 9 ? * 2-6 *)
cron() は 6 フィールド。日付フィールドの一方は ?。タイムゾーン未設定なら UTC。

他のプラットフォームでの同じスケジュール

crontab同等
0 9 * * 1-5
システムのタイムゾーンで実行。cronie は CRON_TZ= も読みます。
0 9 * * 1-5
timezone: を指定しなければ UTC で実行。

GitHub で実行が遅れる? 定刻に起動する →

0 9 * * 1-5
spec.timeZone を設定しなければコントローラーのローカルタイムゾーン。
Spring同等
0 0 9 * * 1-5
6 フィールドで秒が先頭。zone= を指定しなければサーバーのタイムゾーン。

次の 10 回の実行

ブラウザで計算
  1. 計算中…

Quartz と AWS EventBridge の違い

QuartzAWS EventBridge
フィールド秒 分 時 日 月 曜日 [年]cron(分 時 日 月 曜日 年)
日曜日1(SUN=1 … SAT=7)1(SUN=1 … SAT=7)
日と曜日の両方を指定一方は ? が必須一方は ? が必須
特殊文字L W # LW L-nL W #(# は 1 つ)
短縮形なしなし。間隔は rate()
タイムゾーンinTimeZone()、なければ JVMScheduler で IANA 名、既定は UTC
最短間隔1 秒1 分

よく使うスケジュールの変換結果

QuartzAWS EventBridge
5 分ごと0 */5 * * * ?cron(0/5 * * * ? *)
1 時間ごと0 0 * * * ?cron(0 * * * ? *)
毎分0 * * * * ?cron(* * * * ? *)
10 分ごと0 */10 * * * ?cron(0/10 * * * ? *)
15 分ごと0 */15 * * * ?cron(0/15 * * * ? *)
30 分ごと0 */30 * * * ?cron(0/30 * * * ? *)
毎日 0 時0 0 0 * * ?cron(0 0 * * ? *)
毎日 9 時0 0 9 * * ?cron(0 9 * * ? *)
平日 9 時0 0 9 ? * 2-6cron(0 9 ? * 2-6 *)
毎週月曜日0 0 0 ? * 2cron(0 0 ? * 2 *)
毎月 1 日0 0 0 1 * ?cron(0 0 1 * ? *)
6 時間ごと0 0 */6 * * ?cron(0 0/6 * * ? *)
毎週日曜日 0 時0 0 0 ? * 1cron(0 0 ? * 1 *)
2 時間ごと0 0 */2 * * ?cron(0 0/2 * * ? *)
12 時間ごと0 0 */12 * * ?cron(0 0/12 * * ? *)
毎日 12 時0 0 12 * * ?cron(0 12 * * ? *)
毎週金曜日0 0 0 ? * 6cron(0 0 ? * 6 *)
毎月末日0 0 0 L * ?cron(0 0 L * ? *)
四半期ごと0 0 0 1 */3 ?cron(0 0 1 1/3 ? *)
2 分ごと0 */2 * * * ?cron(0/2 * * * ? *)
3 時間ごと0 0 */3 * * ?cron(0 0/3 * * ? *)
毎日 6 時0 0 6 * * ?cron(0 6 * * ? *)
毎日 18 時0 0 18 * * ?cron(0 18 * * ? *)
1 日 2 回0 0 */12 * * ?cron(0 0/12 * * ? *)
平日 18 時0 0 18 ? * 2-6cron(0 18 ? * 2-6 *)
週末 10 時0 0 10 ? * 1,7cron(0 10 ? * 1,7 *)
毎月 15 日0 0 0 15 * ?cron(0 0 15 * ? *)
毎月第 1 月曜日0 0 9 ? * 2#1cron(0 9 ? * 2#1 *)
毎月最終金曜日0 0 17 ? * 6Lcron(0 17 ? * 6L *)
年 1 回0 0 0 1 1 ?cron(0 0 1 1 ? *)
30 秒ごと*/30 * * * * ?変換不可
3 分ごと0 */3 * * * ?cron(0/3 * * * ? *)
20 分ごと0 */20 * * * ?cron(0/20 * * * ? *)
4 時間ごと0 0 */4 * * ?cron(0 0/4 * * ? *)
8 時間ごと0 0 */8 * * ?cron(0 0/8 * * ? *)
毎日 1 時0 0 1 * * ?cron(0 1 * * ? *)
毎日 2 時0 0 2 * * ?cron(0 2 * * ? *)
毎日 3 時0 0 3 * * ?cron(0 3 * * ? *)
毎日 8 時0 0 8 * * ?cron(0 8 * * ? *)
毎平日0 0 0 ? * 2-6cron(0 0 ? * 2-6 *)
毎週末0 0 0 ? * 1,7cron(0 0 ? * 1,7 *)
毎週火曜日0 0 0 ? * 3cron(0 0 ? * 3 *)
毎週水曜日0 0 0 ? * 4cron(0 0 ? * 4 *)
毎週木曜日0 0 0 ? * 5cron(0 0 ? * 5 *)
毎週土曜日0 0 0 ? * 7cron(0 0 ? * 7 *)
6 か月ごと0 0 0 1 */6 ?cron(0 0 1 1/6 ? *)
10 秒ごと*/10 * * * * ?変換不可
5 秒ごと*/5 * * * * ?変換不可

よくある質問

Quartz の式はすべて AWS EventBridge に変換できますか?

すべてではありません。このページの 48 件のうち 45 件が同等に変換できます。残りは代替案が必要で、変換ツールが表示します。

Quartz と AWS EventBridge で日曜日はどう書きますか?

Quartz:1(SUN=1 … SAT=7)。AWS EventBridge:1(SUN=1 … SAT=7)。

タイムゾーンも引き継がれますか?

式自体にはタイムゾーンがありません。Quartz:inTimeZone()、なければ JVM。AWS EventBridge:Scheduler で IANA 名、既定は UTC。