コンテンツにスキップ

検索はプロダクションビルドでのみ利用可能です。 ローカルでテストするには、サイトをビルドしてプレビューしてください。

Bell キュー・Cron 処理

Bell サービスは RPC メソッドに加えて、Queue ConsumerCron トリガー によるバックグラウンド処理を担当します。


Bell は2つのキューのコンシューマーとして機能します。

async queue(batch: MessageBatch<unknown>): Promise<void>

キュー名に基づいて処理を分岐します。

Web Push 通知を送信するキューです。

項目設定
バッチサイズ10
タイムアウト1秒
リトライ3回
DLQpush-notifications-dlq

マルチチャネル通知を分配するキューです。Fizz サービスが新着メッセージ時にこのキューに通知リクエストを投入します。

項目設定
バッチサイズ10
タイムアウト1秒
リトライ3回
DLQなし
type NotificationPayload = {
readonly type: string; // 通知種別
readonly recipientId: string; // 受信者 ID
readonly recipientType: string; // 受信者種別
readonly shopId: string; // 店舗 ID
readonly title: string; // タイトル
readonly body: string; // 本文
readonly url?: string; // リンク先
readonly senderId?: string; // 送信者 ID
};

毎時実行されるスケジューラです。

async scheduled(_event: ScheduledEvent): Promise<void>
項目設定
スケジュール0 * * * *(毎時0分)
処理内容スケジュール済み PUSH メッセージのキューイング

Bell は Cloudflare Email Workers も処理します。

async email(message: ForwardableEmailMessage): Promise<void>

受信メールを処理・転送するためのハンドラです。


キューDLQ説明
push-notificationspush-notifications-dlq3回リトライ後に DLQ に移動
notification-queueなし3回リトライ後に破棄
HTTP ステータス対応
201送信成功
410 Goneサブスクリプション削除(無効化)
429 Too Many Requestsリトライ対象
5xxリトライ対象