家計簿アプリを作る #82:Cloudflare Pages への再デプロイ(Cron Trigger)

家計簿アプリ作成シリーズの第82回です。月次サマリーメールの自動送信機能がまとまったので、Cloudflare Pagesへ再デプロイします。今回はCron Triggerという新しい種類の設定を含むデプロイでした。

デプロイ手順

budget_alerts テーブルは以前(お題79)のデプロイで既に本番のD1へ適用済みで、今回は新規テーブル・カラムの追加は無かったため、マイグレーションの差分はありませんでした。npm run build(内部でpatch-worker.jsが実行される)を経由してビルド・デプロイを実行しました。

Cron Triggerの本番設定確認

Cloudflareダッシュボードの「Triggers」タブで、wrangler.jsonc に設定した "0 0 1 * *" が正しく反映されているか確認しました。ダッシュボード上は「毎日1日・UTC 00:00」という分かりやすい形で表示され、今後の実行予定日時も一覧で確認できました。

本番でのCron Trigger手動テストは無い

ダッシュボードにはCron Triggerのスケジュール設定画面はありますが、本番環境で今すぐ手動実行するボタンは基本的に用意されていません。ローカルでは wrangler dev --test-scheduled + curl で既にロジックの動作確認は済ませていたので、本番では「スケジュール設定が正しく登録されていること」の確認に留め、実際の発火は次回の月初(UTC 0時 = JST 9時)を待つ方針にしました。

本番環境で通常のページ(トップページなど)が問題なく表示されることも確認し、fetch ハンドラの委譲(handler.fetch)が正しく機能していることも確認できました。

まとめ

Cron Triggerはローカルでのテストのしやすさと、本番での確認のしにくさのバランスが独特でした。ロジックの検証はローカルで済ませ、本番では設定の登録確認に絞る、という役割分担が現実的だと感じました。

← トップページに戻る