是否可以通过以下方式配置请求订阅,即导致错误并被 nacked 的消息被重新排队(并重新发送)的次数不超过n
次? / p>
理想的是,如果最后一次处理也失败,那么我想处理这种情况(例如,记录此消息已被放弃处理并将被丢弃)。
或者也许有可能找出接收到的消息之前曾尝试处理过多少次?
我使用node.js。通过不确定如何实现期望的行为,我可以在源代码中看到很多不同的选项。
答案 0 :(得分:2)
Cloud Pub / Sub支持Dead Letter Queues,该{{3}}可用于在可配置的重试次数后删除被拒绝的消息。
答案 1 :(得分:1)
当前,Google Cloud Pub / Sub中无法自动删除已重新发送指定次数的邮件。一旦该邮件的保留期限(默认为7天)过后,该邮件将停止发送。同样,发布/订阅也不会跟踪或报告邮件的传递次数。
如果要处理此类消息,则需要维护一个以消息ID为关键字的持久性存储,可用于跟踪传递计数。如果传递计数超过了所需的阈值,则可以将邮件写到用作死信队列的单独主题中,然后确认原始邮件。