コンテンツにスキップ

スケジュールされたハンドラー

背景

WorkerがCron Triggerを介して呼び出されると、scheduled()ハンドラーがその呼び出しを処理します。


構文

export default {
async scheduled(event, env, ctx) {
ctx.waitUntil(doSomeTaskOnASchedule());
},
};

プロパティ

  • event.cron string

  • event.type string

    • イベントのタイプ。これは常に"scheduled"を返します。
  • event.scheduledTime number

    • ScheduledEventが実行される予定の時間(1970年1月1日からのミリ秒)。new Date(event.scheduledTime)として解析できます。
  • env object

    • KV名前空間やDurable Objectsなど、ESモジュール形式を使用してWorkerに関連付けられたバインディングを含むオブジェクト。
  • ctx object

    • ESモジュール形式を使用してWorkerに関連付けられたコンテキストを含むオブジェクト。現在、このオブジェクトにはwaitUntil関数のみが含まれています。

メソッド

WorkersスクリプトがCron Triggerによって呼び出されると、WorkersランタイムはScheduledEventを開始し、これがWorkerモジュールクラスのscheduled関数によって処理されます。ctx引数は、関数が実行されるコンテキストを表し、次に何が起こるかを制御するための以下のメソッドを含みます:

  • ctx.waitUntil(promisePromise) : void

    • このメソッドを使用して、非同期タスク(例えば、ロギング、サードパーティサービスへの分析、ストリーミングおよびキャッシング)を待つようにランタイムに通知します。最初のctx.waitUntilが失敗すると、それが観察され、Cron Triggerの過去のイベントテーブルにステータスとして記録されます。そうでなければ、成功として報告されます。