Dead Letter Queue(DLQ)はメッセージングシステムでよく使う考え方で、コンシューマーへの配信が max_retries 回失敗したあとにメッセージを送る先です。Dead Letter Queue はほかのキューと同じで、独立してプロデュースとコンシュームができます。
Cloudflare Queues では、Dead Letter Queue は コンシューマー設定 で定義します。コンシューマーの再試行上限に達したメッセージが DLQ へ配信されます。DLQ を設定していない場合、再試行上限に達したメッセージは完全に削除されます。
たとえば、次のコンシューマー設定では、配信を再試行したあと(デフォルトは 3 回)、my-other-queue という名前の DLQ へメッセージを送ります。
{
"queues": {
"consumers": [
{
"queue": "my-queue",
"dead_letter_queue": "my-other-queue"
}
]
}
}[[queues.consumers]]
queue = "my-queue"
dead_letter_queue = "my-other-queue"コマンドラインからコンシューマーを作成するときも、wrangler で DLQ を設定できます。
wrangler queues consumer add $QUEUE_NAME $SCRIPT_NAME --dead-letter-queue=$NAME_OF_OTHER_QUEUEDLQ に置かれたメッセージを処理するには、ほかのキューと同じように、そのキューに コンシューマーを設定 します。
アクティブなコンシューマーがない DLQ に配信されたメッセージは、4 日間保持されたあと、キューから削除されます。