跳转到内容
搜索文档

Dead Letter Queues

最后更新 查看 MarkdownAgent 设置

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_QUEUE

要处理 DLQ 上的消息,需要为该队列配置消费者,与任何其他队列一样。

没有活跃消费者的 DLQ 上的消息将保留四(4)天后从队列中删除。

这篇文档对您有帮助吗?