首页 > 解决方案 > 是否可以在同步拉取 pubsub 时取消确认消息

问题描述

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

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

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

标签: pythongoogle-cloud-platformgoogle-cloud-pubsub

解决方案


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

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

...

也可以nack一条消息,这是相反的......

相同的文档包含部分Pulling a Subscription Synchronously ,其中解释了如何nack使用modify_ack_deadline()

如果你想对一些接收到的消息 (...)进行nack ,你可以使用modify_ack_deadline()方法并将它们的确认截止日期设置为零。这将导致它们被此客户端丢弃,并且后端将尝试重新传递它们。


推荐阅读