複数のCronトリガー
3つの異なるスケジュールで複数のCronトリガーを設定します。
export default { async scheduled(event, env, ctx) { // APIを更新するためのコードを書く switch (event.cron) { case "*/3 * * * *": // 3分ごと await updateAPI(); break; case "*/10 * * * *": // 10分ごと await updateAPI2(); break; case "*/45 * * * *": // 45分ごと await updateAPI3(); break; } console.log("cronが処理されました"); },};interface Env {}export default { async scheduled( controller: ScheduledController, env: Env, ctx: ExecutionContext, ) { // APIを更新するためのコードを書く switch (controller.cron) { case "*/3 * * * *": // 3分ごと await updateAPI(); break; case "*/10 * * * *": // 10分ごと await updateAPI2(); break; case "*/45 * * * *": // 45分ごと await updateAPI3(); break; } console.log("cronが処理されました"); },};Cronトリガーをテストする推奨方法は、Wranglerを使用することです。
Cronトリガーは、wrangler devに--test-scheduledフラグを渡すことでテストできます。これにより、HTTPリクエストを使用してテストするための/__scheduledルートが公開されます。異なるcronパターンをシミュレートするために、cronクエリパラメータを渡すことができます。
npx wrangler dev --test-scheduled
curl "http://localhost:8787/__scheduled?cron=*%2F3+*+*+*+*"