Google PubSub:n次重试后删除nacked消息

时间:2018-11-05 16:26:24

标签: node.js google-cloud-pubsub flow-control

是否可以通过以下方式配置请求订阅,即导致错误并被 nacked 的消息被重新排队(并重新发送)的次数不超过n次? / p>

理想的是,如果最后一次处理也失败,那么我想处理这种情况(例如,记录此消息已被放弃处理并将被丢弃)。

或者也许有可能找出接收到的消息之前曾尝试处理过多少次?

我使用node.js。通过不确定如何实现期望的行为,我可以在源代码中看到很多不同的选项。

2 个答案:

答案 0 :(得分:2)

Cloud Pub / Sub支持Dead Letter Queues,该{{3}}可用于在可配置的重试次数后删除被拒绝的消息。

答案 1 :(得分:1)

当前,Google Cloud Pub / Sub中无法自动删除已重新发送指定次数的邮件。一旦该邮件的保留期限(默认为7天)过后,该邮件将停止发送。同样,发布/订阅也不会跟踪或报告邮件的传递次数。

如果要处理此类消息,则需要维护一个以消息ID为关键字的持久性存储,可用于跟踪传递计数。如果传递计数超过了所需的阈值,则可以将邮件写到用作死信队列的单独主题中,然后确认原始邮件。