如何暂停GCP Pubsub推送订阅?

时间:2016-11-17 15:24:26

标签: google-cloud-platform google-cloud-pubsub

出于各种原因,我们遇到了我们想要暂停"暂停"推送来自Google Cloud Platform(GCP)Pubsub订阅的通知,只允许他们排队,然后最终"取消暂停"并允许推送继续而不会丢失任何消息。

  1. 这是内置功能吗?
  2. 你能建议一个解决方法吗?

3 个答案:

答案 0 :(得分:0)

我认为没有这样的暂停功能。相反,您可以使用轮询消费者,并且可以在需要暂停时停止轮询。这就是我能想到的全部。

答案 1 :(得分:0)

没有"暂停"推送订阅功能。如果可以,您可以考虑switching to a pull subscription。然后,您可以准确控制何时请求消息。

如果您无法切换到请求订阅,则只能在收到消息或使端点不可用时返回错误响应。 Google Cloud Pub / Sub将退回邮件的重新发送,在两次尝试之间等待最多10秒。它将尝试重新发送消息7天。根据您需要暂停消息消耗的时间长短,这可能是一个可行的选择。

如果您不需要在"暂停"之间切换并且"取消暂停"通常,每分钟不到一次,然后您可以通过将订阅者切换到拉取订阅(而不是拉动)来获得暂停行为,然后切换回推送订阅以再次开始接收消息来完成此行为。

答案 2 :(得分:0)

好消息。我偶然发现https://cloud.google.com/pubsub/docs/subscriber#receive_push

的答案
  

停止/暂停和恢复推送

     

要暂停接收订阅的消息,请发送   modifyPushConfigRequest 将推送端点设置为空   串即可。消息将累积,但不会传递。至   继续接收消息,发送另一个modifyPushConfigRequest   使用填充的推送端点请求。

     

要永久停止投放,您应该删除订阅。