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