Workers の Cron Trigger をローカルで試す: Local Explorer から scheduled() を 1 回だけ呼ぶ
wrangler dev などで起動したサーバーの /cdn-cgi/local/explorer を開き、Cron Triggers から好きな cron 式と実行時刻で scheduled() ハンドラーを呼べるようになった。手で URL を組み立てて curl する必要がない。
どんなときに使う?
- Cron で動く Worker(集計、掃除、定期取得など)をデプロイ前に確かめたい
- 「毎時 0 分」と「毎日 3 時」で処理を分けているなど、
controller.cronやscheduledTimeで分岐するロジックを試したい - エージェントに Cron 処理のテストをさせたい(API でも呼べる)
手順
- 開発サーバーを起動する(
cf dev、wrangler dev、Cloudflare Vite プラグインのどれでも可) - ブラウザで
http://localhost:8787/cdn-cgi/local/explorerを開く(Vite なら5173など、自分のポートに置き換える) - Cron Triggers を選び、次のどれかをする
- 設定済みの cron 式をそのまま実行
- その場で cron 式を組み立てて実行(設定ファイルは変わらない)
- 実行時刻(
scheduledTime)を指定して実行。よく使う時刻はプリセットとして保存できる
- 結果と
noRetry()を呼んだかどうかを画面で確認する
スクリプトやエージェントからは同じ操作を API で呼べる:
bash
curl -X POST \
"http://localhost:8787/cdn-cgi/local/explorer/api/local/scheduled?worker=my-worker" \
-H "Content-Type: application/json" \
--data '{"cron":"0 * * * *","scheduled_time":1745856238000}'worker には Worker 名を正確に入れる。scheduled_time はミリ秒の UNIX 時刻で省略可。
注意点
- ローカル開発では cron が自動では動かない。試すときはこの画面か API から明示的に呼ぶ
- その場で作った cron 式や時刻のプリセットはブラウザ内だけに保存され、
cloudflare.config.ts・Wrangler 設定・デプロイ済みの Cron Trigger は変わらない - 詳しいログやトレースは、その Worker を動かしている開発セッションで Observability を有効にしていると見られる
出典
- @CFchangelog · 2026-10-19
- Changelog「Test Cron Triggers with Local Explorer」: developers.cloudflare.com