INTEGRITY Dokumentace

Dead Letter Queues

Dead Letter Queue (DLQ) je běžný koncept v systémech pro zasílání zpráv a označuje místo, kam se odesílají zprávy, pokud dojde k chybě doručení u konzumenta po max_retries je dosaženo. Dead Letter Queue funguje jako jakákoli jiná fronta a lze do ní nezávisle zapisovat i z ní číst.

V Cloudflare Queues se Dead Letter Queue definuje ve vašem konfigurace konzumenta. Zprávy se doručí do DLQ, jakmile dosáhnou nakonfigurovaného limitu opakování pro daného konzumenta. Pokud DLQ není nakonfigurována, zprávy, které dosáhnou limitu opakování, se trvale odstraní.

Následující konfigurace konzumenta by například odesílala zprávy do naší DLQ s názvem "my-other-queue" po opakovaných pokusech o doručení (výchozí hodnota 3krát):

{
	"queues": {
		"consumers": [
			{
				"queue": "my-queue",
				"dead_letter_queue": "my-other-queue"
			}
		]
	}
}
[[queues.consumers]]
queue = "my-queue"
dead_letter_queue = "my-other-queue"

DLQ můžete nakonfigurovat také při vytváření konzumenta z příkazové řádky pomocí wrangler:

wrangler queues consumer add $QUEUE_NAME $SCRIPT_NAME --dead-letter-queue=$NAME_OF_OTHER_QUEUE

Chcete-li zpracovat zprávy umístěné ve vaší DLQ, musíte nakonfigurovat konzumenta pro tuto frontu stejně jako u jakékoli jiné fronty.

Zprávy doručené do DLQ bez aktivního konzumenta zůstanou zachovány po dobu čtyř (4) dnů, než budou z fronty odstraněny.