“00:00、12:00 に 日 1 に 2か月ごとに.”
実行テーブル
タイムゾーン: UTC
| # | 次回の実行 | ISO |
|---|---|---|
| 利用可能な実行時間はありません。 | ||
Quartz Cron式を理解する
デプロイ前に秒、年、特殊トークンに対応したQuartzスケジュールを解読できます。
Quartzジェネレーターを開くQuartz Cron方言の概要
Quartz cron式は、標準の5フィールドフォーマットを秒とオプションの年フィールドで拡張し、6または7フィールドの式を生成します。この拡張構文は、Quartz Scheduler、Spring、多くのJVMベースの自動化プラットフォームなどのエンタープライズJavaスケジューラでデフォルトとして使用されています。これらの環境でスケジュールされたタスクを扱っている場合、ほぼ確実にQuartzスタイルのcronに遭遇しているでしょう。
CronwiseのQuartz Cronエクスプレイナーは、完全なQuartz式をパースし、明確で人間が読みやすい要約に変換します。フィールドの位置や特殊文字を頭の中で解読する代わりに、式を貼り付けるだけで即座にその意味を確認できます。エクスプレイナーは7つのフィールドすべてに対応しています:秒、分、時、日、月、曜日、年。
標準cronとは異なり、Quartzは?(特定の値なし)、L(最終)、W(平日)、#(N番目の出現)などのトークンを導入しています。これらは強力ですが誤読しやすいものです。Cronwiseは各トークンをコンテキスト内でバリデーションし、本番環境に到達する前にエラーをハイライトします。標準cronの背景からQuartzに移行する場合は、2つの方言がどこで分岐するかを理解するためにQuartzと標準cronの比較ガイドをご覧ください。
標準Cronエクスプレイナーが必要ですか?ワンクリックで方言を切り替えられます。
トークンの説明とフィールド凡例
すべてのQuartz cron式は厳密なフィールド順序に従います。各位置を理解することは、スケジュールを正確に記述・読み取るために不可欠です:
| 位置 | フィールド | 許容値 | 特殊トークン |
|---|---|---|---|
| 1 | 秒 | 0–59 | *, ,, -, / |
| 2 | 分 | 0–59 | *, ,, -, / |
| 3 | 時 | 0–23 | *, ,, -, / |
| 4 | 日 | 1–31 | *, ,, -, /, ?, L, W |
| 5 | 月 | 1–12 または JAN–DEC | *, ,, -, / |
| 6 | 曜日 | 1–7 または SUN–SAT | *, ,, -, /, ?, L, # |
| 7 | 年(オプション) | 1970–2099 | *, ,, -, / |
Cronwiseは各フィールドをわかりやすいフレーズにマッピングします。例えば、0 0/15 9-17 ? * MON-FRI *は次のようになります:「0秒、15分ごと、09:00から17:59の間、月曜日から金曜日、毎年」。この即座の明確さにより、推測が不要になり、コードレビューやインシデントトリアージが迅速化されます。
バリデーションとエラー回復
Cronwiseの Quartz Cronエクスプレイナーは、式を入力または変更した瞬間にクライアントサイドのバリデーションを実行します。各フィールドを個別にチェックし、フィールドレベルのエラーメッセージを提供するため、問題の正確な場所がわかります。よくある問題には、?プレースホルダーの忘れ、間違ったフィールドでのLの使用、秒や年の範囲外の値の指定などがあります。
バリデーションは構文エラーを検出するだけではありません。Cronwiseは、技術的には有効だが意図しない可能性が高い式に対しても警告を表示します。例えば、24時間毎秒実行されるスケジュールは有効なQuartz構文かもしれませんが、作成者が意図したものであることはまれです。これらの早期シグナルにより、本番環境での暴走ジョブ実行を防ぎます。
式がバリデーションに失敗した場合、Cronwiseは修正方法に関するターゲットを絞ったガイダンスを表示します。また、Quartzジェネレーターに直接ジャンプして、フィールドごとにスケジュールをビジュアルに再構築することもできます。このデュアルワークフロー(まず説明、次にジェネレーターで編集)はCronwiseの核心的な差別化要因であり、混乱から動作するスケジュールへの時間を大幅に短縮します。
タイムゾーン対応の次回実行プレビュー
式のパースとバリデーションの後、Cronwiseは選択したタイムゾーンで次回10回の実行時刻を表示します。このプレビューはIANAタイムゾーン名を使用し、デフォルトでブラウザのタイムゾーンが設定されるため、ローカルコンテキストでジョブがいつトリガーされるかを正確に確認できます。他のIANAタイムゾーンに切り替えて、異なるリージョンで同じ式がどのように動作するかをシミュレーションすることもできます。
次回実行プレビューは、月末トリガー(L)、最近接平日ロジック(W)、N番目の曜日セレクター(#)などの複雑なパターンを使用するQuartz式に特に価値があります。これらのパターンは、頭の中で検証するのが困難な非自明なスケジュールを生成します。具体的なタイムスタンプを確認することで曖昧さが排除され、デプロイメントへの信頼が得られます。
複数のタイムゾーンにまたがるチームにとって、UTCとローカルゾーン間のプレビュー出力を比較することで、ジョブが期待されるビジネスアワーウィンドウに到達するかどうかが即座にわかります。このタイムゾーン認識は、実行時刻の精度が重要な監査、コンプライアンス、インシデント対応ワークフローに不可欠です。
説明からアクションへ
Quartz Cronエクスプレイナーは、2ステップワークフローの最初のステップとして設計されています。ステップ1:Quartz式を貼り付けて、それが正確に何をするかを理解します。ステップ2:調整が必要な場合は、Quartzジェネレーターを開いて、秒、分、時、日、月、曜日、年のフィールドレベルコントロールを使用してスケジュールをビジュアルに変更します。
この「説明してから編集」パターンは、Cronwiseがデプロイ前に理解することを支援する方法です。生の式文字列に対する試行錯誤の変更の代わりに、明確な説明、ターゲットを絞ったバリデーション、正確な変更を行うビジュアルビルダーが得られます。結果として、スケジューリングミスの減少、デバッグの迅速化、運用上の信頼性向上が実現します。
Quartz固有の構文、移行戦略、実際のスケジューリングパターンに関するより詳しいガイドは、Quartz学習記事をご覧ください。エンタープライズJava開発者、トリガーを監査するプラットフォームオペレーター、crontabとQuartz間を橋渡しする移行エンジニアなど、Cronwiseはcronスケジュールに自信を持って取り組むための明確さを提供します。