Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Queues を設定する

最終更新 Markdown で表示Agent セットアップ

Cloudflare Queues は、Cloudflare の Developer Platform 向けコマンドラインインターフェイスである Wrangler で設定できます。Developer Platform には WorkersR2、その他の開発者向けプロダクトが含まれます。

各プロデューサー Worker とコンシューマー Worker には、環境変数、トリガー、キューなどのリソースを指定する Wrangler 設定ファイル があります。Worker とリソースの通信を有効にするには、Worker プロジェクトの Wrangler ファイルで バインド を設定します。

次のオプションでキューを設定します。

キューの設定

次のキューレベルの設定は、Wrangler で変更できます。

npx wrangler queues update <QUEUE-NAME> --delivery-delay-secs 60 --message-retention-period-secs 3000
  • --delivery-delay-secs number optional

    • 公開したメッセージがコンシューマーに配信されるまでの遅延時間です。
    • 0 から 86400(24 時間)の間である必要があります。
    • デフォルトは 0 です。
  • --message-retention-period-secs number optional

    • メッセージを Queue 上に保持する期間です。
    • デフォルトは 345600(4 日)です。
    • 60 から 1209600(14 日)の間である必要があります。

プロデューサー Worker の設定

プロデューサーは、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"
  • queue string
    • キューの名前です。
  • binding string
    • バインドの名前です。JavaScript の変数になります。

コンシューマー Worker の設定

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 を参照してください。

  • queue string
    • キューの名前です。
  • max_batch_size number optional
    • 各バッチに含められるメッセージの最大数です。
    • デフォルトは 10 件です。
  • max_batch_timeout number optional
    • バッチがいっぱいになるまで待つ最大秒数です。
    • デフォルトは 5 秒です。
  • max_retries number optional
    • メッセージが失敗した場合、または retryAll() が呼ばれた場合の最大リトライ回数です。
    • デフォルトは 3 回です。
  • dead_letter_queue string optional
    • 少なくとも max_retries 回処理に失敗したメッセージを送る、別のキューの名前です。
    • dead_letter_queue を定義していない場合、繰り返し処理に失敗したメッセージは最終的に破棄されます。
    • 指定した名前のキューがない場合は、自動で作成されます。
  • max_concurrency number optional
    • 同時に実行できるコンシューマーの最大数です。未設定のままにすると、呼び出し数は 現在サポートされている上限 までスケールします。
    • コンシューマーのオートスケール、とくにメッセージ再試行時の動きは Consumer concurrency を参照してください。

プル型

キューには、キューからプルする HTTP ベースのコンシューマーを付けられます。このコンシューマーは、インターネット経由で通信できる任意の HTTP 対応サービスです。プル型コンシューマーの設定は Pull consumers を参照してください。

役に立ちましたか?