Cloudflare Queues は、Cloudflare の Developer Platform 向けコマンドラインインターフェイスである Wrangler で設定できます。Developer Platform には Workers、R2、その他の開発者向けプロダクトが含まれます。
各プロデューサー Worker とコンシューマー Worker には、環境変数、トリガー、キューなどのリソースを指定する Wrangler 設定ファイル があります。Worker とリソースの通信を有効にするには、Worker プロジェクトの Wrangler ファイルで バインド を設定します。
次のオプションでキューを設定します。
次のキューレベルの設定は、Wrangler で変更できます。
npx wrangler queues update <QUEUE-NAME> --delivery-delay-secs 60 --message-retention-period-secs 3000-
--delivery-delay-secsnumberoptional- 公開したメッセージがコンシューマーに配信されるまでの遅延時間です。
0から86400(24 時間)の間である必要があります。- デフォルトは
0です。
-
--message-retention-period-secsnumberoptional- メッセージを Queue 上に保持する期間です。
- デフォルトは
345600(4 日)です。 60から1209600(14 日)の間である必要があります。
プロデューサーは、1 つ以上のキューに書き込む Cloudflare Worker です。プロデューサーは HTTP でメッセージを受け取り、リクエスト処理中に非同期でメッセージを書き込み、Durable Object 内からキューに書き込めます。どの Worker からもキューに書き込めます。
キューへ送信するには、Wrangler ファイルでバインドを設定します。Worker からキューへメッセージを送りたいときに、これらのオプションを使います。
{
"queues": {
"producers": [
{
"queue": "my-queue",
"binding": "MY_QUEUE"
}
]
}
}[[queues.producers]]
queue = "my-queue"
binding = "MY_QUEUE"-
queuestring- キューの名前です。
-
bindingstring- バインドの名前です。JavaScript の変数になります。
1 つ以上のキューからメッセージを受け取るには、Wrangler ファイルでバインドを設定します。Worker がキューからメッセージを受け取りたいときに、これらのオプションを使います。
{
"queues": {
"consumers": [
{
"queue": "my-queue",
"max_batch_size": 10,
"max_batch_timeout": 30,
"max_retries": 10,
"dead_letter_queue": "my-queue-dlq"
}
]
}
}[[queues.consumers]]
queue = "my-queue"
max_batch_size = 10
max_batch_timeout = 30
max_retries = 10
dead_letter_queue = "my-queue-dlq"各オプションの上限は Limits を参照してください。
-
queuestring- キューの名前です。
-
max_batch_sizenumberoptional- 各バッチに含められるメッセージの最大数です。
- デフォルトは
10件です。
-
max_batch_timeoutnumberoptional- バッチがいっぱいになるまで待つ最大秒数です。
- デフォルトは
5秒です。
-
max_retriesnumberoptional- メッセージが失敗した場合、または
retryAll()が呼ばれた場合の最大リトライ回数です。 - デフォルトは
3回です。
- メッセージが失敗した場合、または
-
dead_letter_queuestringoptional- 少なくとも
max_retries回処理に失敗したメッセージを送る、別のキューの名前です。 dead_letter_queueを定義していない場合、繰り返し処理に失敗したメッセージは最終的に破棄されます。- 指定した名前のキューがない場合は、自動で作成されます。
- 少なくとも
-
max_concurrencynumberoptional- 同時に実行できるコンシューマーの最大数です。未設定のままにすると、呼び出し数は 現在サポートされている上限 までスケールします。
- コンシューマーのオートスケール、とくにメッセージ再試行時の動きは Consumer concurrency を参照してください。
キューには、キューからプルする HTTP ベースのコンシューマーを付けられます。このコンシューマーは、インターネット経由で通信できる任意の HTTP 対応サービスです。プル型コンシューマーの設定は Pull consumers を参照してください。