← Cloudflare Queues / queues / configuration
Dead Letter Queues
Dead Letter Queue (DLQ) представляет собой распространённое понятие в системах обмена сообщениями и обозначает место, куда отправляются сообщения при сбое доставки у потребителя после max_retries достигнут. Dead Letter Queue работает как обычная очередь: в неё можно отправлять сообщения и обрабатывать их независимо.
В Cloudflare Queues Dead Letter Queue задается в конфигурация потребителя. Сообщения доставляются в DLQ, когда для них исчерпан настроенный лимит повторных попыток потребителя. Если DLQ не настроена, сообщения, достигшие лимита повторных попыток, удаляются безвозвратно.
Например, следующая конфигурация потребителя будет отправлять сообщения в DLQ с именем "my-other-queue" после повторных попыток доставки (по умолчанию 3 раза):
{
"queues": {
"consumers": [
{
"queue": "my-queue",
"dead_letter_queue": "my-other-queue"
}
]
}
}[[queues.consumers]]
queue = "my-queue"
dead_letter_queue = "my-other-queue"Вы также можете настроить DLQ при создании потребителя из командной строки с помощью wrangler:
wrangler queues consumer add $QUEUE_NAME $SCRIPT_NAME --dead-letter-queue=$NAME_OF_OTHER_QUEUEЧтобы обработать сообщения, попавшие в DLQ, необходимо настроить потребителя для этой очереди так же, как и для любой другой очереди.
Сообщения, доставленные в DLQ без активного потребителя, хранятся в течение четырёх (4) дней, после чего удаляются из очереди.