【问题标题】:Is it possible to unacknowledge messages in synchronous pull for pubsub是否可以在同步拉取 pubsub 时取消确认消息
【发布时间】:2021-09-28 13:37:55
【问题描述】:

我正在通过订阅提取 pubsub 消息,并且需要在处理之前确认这些消息,因为我正在进行多处理,并且由于 grpc 模块而引发 SSL 损坏错误。

我想事先确认所有消息并在出现错误时取消确认,我知道我们可以为异步拉取执行此操作,但有没有办法在同步拉取中也可以实现取消确认?

我正在使用官方python模块从订阅中拉取

【问题讨论】:

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


    【解决方案1】:

    我想unack 你的意思是nack explained 在 Python API 参考中:

    在 Pub/Sub 中,术语 ack 代表“确认”。

    ...

    也可以nack消息,正好相反...

    相同的文档包含Pulling a Subscription Synchronously 部分,其中解释了如何将nackmodify_ack_deadline() 联系起来:

    如果你想nack接收到的一些消息(...),你可以使用 modify_ack_deadline() 方法并设置它们 承认最后期限为零。这将导致它们被 此客户端和后端将尝试重新交付它们。

    【讨论】: