有没有办法设置我发布的Google Pubsub消息(错误请求)的到期时间,以便它在失败时无法无限期重试?
我无法通过重试来配置它,因为我希望有效的错误消息无限期重试
答案 0 :(得分:1)
只有全球7天的到期日期。但是,您可以将时间戳添加为属性并检查管道开头的时间戳,然后在满足条件时丢弃。
尽管如此,我们并不建议您只使用时间戳来确定是否丢弃消息,因为如果您有大量积压并且消费者无法赶上,则有效消息可能是即使它是第一次被处理,也会被扔掉。
这是另一个想法。发布消息时,您将在API响应中获取消息ID,以后可以使用它来识别单个消息。在您的管道中,您可以增加每个消息ID的重试计数,以便您知道特定消息的重试次数。然后你可以扔掉重试超过N次的消息。在我看来,这种策略更可靠。这些重试计数并不重要,因此您可以将它们存储在内存中。