【发布时间】:2020-09-05 09:31:22
【问题描述】:
我在使用 azure sdk for python 收到来自 azure 服务总线主题订阅的消息后,正在使用 AutoLockRenew 类注册方法。
即使您在 python 中使用 AutoLockRenew.register() 方法自动为您更新锁 - 如果消息锁过期,renewable.renew_lock() 抛出异常,它会静默失败!
仍在执行业务逻辑的父线程继续执行(直到它调用message.complete(),实际上它会知道这一点)但同时,相同的消息出现在队列中,第二个实例将其用于处理!这意味着同一条消息现在正在被 2 个不同的接收者同时处理!
推荐的解决方法是什么?
代码如下所示 -
auto_renewer = AutoLockRenew()
with sub_client.get_receiver() as receiver:
for message in receiver:
auto_renewer.register(message)
....
【问题讨论】:
标签: azureservicebus azure-sdk-python azure-servicebus-subscriptions