cronはUnix系オペレーティングシステムのジョブ管理ツールで、タスクをスケジュール指定して定期的に実行させることが可能ですが、スケジュール指定の際に使用するcron式をすぐに読み取るのは難しいものです。「Cron job editor」はcron式を人間が読み取りやすいカレンダー形式に可視化してくれるサイトとのことなので、実際にどんな感じで使えるのか確かめてみました。

Cron job editor: multiple cron jobs, calendar view, AWS & Vercel cron support | CronTool

https://tool.crontap.com/cronjob-debugger

サイトにアクセスすると下図の画面になりました。左上にはUNIX系OSの「crontab」の仕様と、秒・年・ワイルドカードなどを加えた「拡張cron式」の仕様のどちらに準拠するかを切り替えるスイッチがあり、その下にcron式の入力欄が存在しています。cron式の下にはcron式をコピーするボタンや、入力したcron式が事前に設定されるCron job editorへのリンクを取得できるボタンがあり、右側には例やチートシートが用意されていました。



画面を下にスクロールするとカレンダーが設置してあり、入力したcron式がいつトリガーされるのかを一目で確認できるようになっています。例えば今回入力した「30 4 * * *」というcron式の場合、毎日朝4時30分にトリガーされるのが一目瞭然です。



例に用意されていた「0 */5 * * *」というcron式を「Use」ボタンをクリックして設定してみると、カレンダーが自動で更新されて新たなトリガー時刻が表示されました。上のcron式を変更するたびに自動でカレンダーがアップデートされる模様。



さらに下に画面をスクロールするとより複雑なcron式の例が登場しました。この例についても、「Use」をクリックすることで先ほどのカレンダーに反映することが可能です。「0 08-17 * * 5-0」というcron式の「Use」をクリックしてみます。



カレンダーが更新されました。1日のマス目にはトリガーが4個までしか表示されていませんが、マス目内右上の「6 more」と書かれている部分をクリックすると全てのトリガーを確認することが可能です。



17時をすぎるとトリガーされなくなっていることが確認できました。



ページの下の方ではさらにワイルドカードの使い方や複数の数字の指定方法などが解説されており、Cron job editorのページ内だけでcronについて調べつつcron式を作成できるようになっています。



最下部には「よくある質問」コーナーが用意されていました。例えば左上の質問は「午前3時を除いて15分ごとに実行されるcronジョブと、午前3時だけ実行される別のジョブを設定できますか?」というもの。「See answer」をクリックして答えを確認してみます。



今回の場合は「3時台以外の時間に15分ごとに実行する」「3時15分・30分・45分に実行する」「3時に別のジョブを実行する」という3つのcron式を使用すればOKとのこと。記事作成時点では「よくある質問」コーナーにケーススタディが18個用意されていました。