Cron式パーサー

cron式を貼り付けると、わかりやすい説明と、次の5回の実行時刻のプレビューが表示されます。

標準的な5フィールド形式:分 時 日 月 曜日。

5つのフィールド

分、時、日、月、曜日。

*は「すべての値」を意味します。*/5は「5単位ごと」を意味します。1-5は範囲です。1,3,5はリストです。曜日は0(日曜)から6(土曜)です。

簡単な例

*/15 9-17 * * 1-5は「月曜日から金曜日、午前9時から午後5時の間、15分ごと」を意味します。他のよくあるスケジュールについてはプリセットのドロップダウンを試してください。

仕組み

パーサーはあなたの式を5つのフィールドに分割し、それぞれを許可される値の明示的な集合に展開します。分フィールドの*/15は{0, 15, 30, 45}という集合になり、曜日フィールドの1-5は{1, 2, 3, 4, 5}になり、1,3,5のようなリストは結合されます。展開時にすべての値が範囲チェックされるため、61 * * * *のような誤入力は、決して実行されないスケジュールを黙って生成する代わりに、正確なフィールド名と期待される範囲を示すメッセージとともに即座に失敗します。

「次の5回の実行」リストは総当たりで計算されており、それが利点でもあります。次の正分から始めて、コードは1分ずつ前進し(最大1年分、約52万7000回のチェックで、数ミリ秒しかかかりません)、各候補の分を展開された集合と照合します。計算ではなくシミュレーションすることの有用な副作用として、構文的には正しいが決して実行されない式(例えば2月30日を指す0 0 30 2 *)はエラーにならず、「今後1年間に一致する実行が見つかりませんでした」という結果が返されるだけです。このメッセージが表示された場合、式自体は問題なく解析されていますが、存在しない日付か、1年以上先の日付を指しています。

すべての日付計算はあなたのローカルタイムゾーンでブラウザのDateオブジェクトを使用し、すべてこのページのJavaScript内で実行されます。DevToolsのNetworkタブを確認してみてください。式を入力してもリクエストは発生せず、あなたのインフラのスケジュールに関する情報はマシンの外に出ることはありません。