如何modify/check google云运行的失败重试限制?
How to modify/check google cloud run's retry limit on failure?
我有一个主题,它在发布时将事件推送到云 运行 端点,我在存储桶上获得了一个触发器来发布这个主题。云中的容器 运行 无法处理该事件,并且已经重启了数百次,我不想在这上面浪费钱。如何限制云 运行 容器上的失败重试?
如果我们查看 gcloud documentation,我们会发现引用了最大投递尝试次数 (--max-delivery-attempts
) 的概念。与此相关的是一个称为死信主题 (--dead-letter-topic
) 的主题。这似乎定义的是,如果尝试传递 pub sub 消息的次数超过最大次数,则该消息将从与订阅关联的消息队列中删除,并移动到与死信关联的主题。如果您为您的环境定义它,那么您的云 运行 将仅执行有限次数,之后 poision 消息将被移动到其他地方。
这个谜题的可能答案可能是以下概念。
如果我们阅读有关 PUSH 订阅的文档 here,我们会发现以下内容:
... Pub/Sub retries delivery until the message expires after the
subscription's message retention period.
这意味着如果 Pub/Sub 将消息推送到 Cloud 运行 而 Cloud 运行 没有通过返回 200 响应代码来确认该消息,那么该消息将重推为"message retention period"。默认情况下,这是 7 天,但根据文档,可以将最小值设置为 10 分钟。这似乎对我说的是,我们可以在重试 10 分钟(最少)后停止有毒消息。
如果消息被推送但未被确认,则不会立即再次推送它,而是作为 here.
中描述的退避算法的函数推送
我有一个主题,它在发布时将事件推送到云 运行 端点,我在存储桶上获得了一个触发器来发布这个主题。云中的容器 运行 无法处理该事件,并且已经重启了数百次,我不想在这上面浪费钱。如何限制云 运行 容器上的失败重试?
如果我们查看 gcloud documentation,我们会发现引用了最大投递尝试次数 (--max-delivery-attempts
) 的概念。与此相关的是一个称为死信主题 (--dead-letter-topic
) 的主题。这似乎定义的是,如果尝试传递 pub sub 消息的次数超过最大次数,则该消息将从与订阅关联的消息队列中删除,并移动到与死信关联的主题。如果您为您的环境定义它,那么您的云 运行 将仅执行有限次数,之后 poision 消息将被移动到其他地方。
这个谜题的可能答案可能是以下概念。
如果我们阅读有关 PUSH 订阅的文档 here,我们会发现以下内容:
... Pub/Sub retries delivery until the message expires after the subscription's message retention period.
这意味着如果 Pub/Sub 将消息推送到 Cloud 运行 而 Cloud 运行 没有通过返回 200 响应代码来确认该消息,那么该消息将重推为"message retention period"。默认情况下,这是 7 天,但根据文档,可以将最小值设置为 10 分钟。这似乎对我说的是,我们可以在重试 10 分钟(最少)后停止有毒消息。
如果消息被推送但未被确认,则不会立即再次推送它,而是作为 here.
中描述的退避算法的函数推送