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タブを確認してみてください。式を入力してもリクエストは発生せず、あなたのインフラのスケジュールに関する情報はマシンの外に出ることはありません。