有人可以提供有关使用 Azure 服务总线 OnMessageOptions.AutoRenewTimeout http://msdn.microsoft.com/en-us/library/microsoft.servicebus.messaging.onmessageoptions.autorenewtimeout.aspx的更多指导吗
因为我没有找到关于此选项的太多文档,并且想知道这是否是更新消息锁的正确方法
我的用例:
1) Message Processing Queue 的 Lock Duration 为 5 分钟(允许的最大值)
2) 消息处理器使用 OnMessageAsync 消息泵从队列中读取(使用 ReceiveMode.PeekLock)长时间运行的处理可能需要长达 10 分钟来处理消息,然后才能手动调用 msg.CompleteAsync
3)我希望消息处理器自动更新它的锁定,直到它预计完成处理的时间(约 10 分钟)。如果在那段时间之后它还没有完成,锁应该被自动释放。
谢谢
- 更新
我从来没有得到更多关于 AutoRenewTimeout 的指导。我最终使用了一个自定义 MessageLock 类,该类根据计时器自动更新消息锁。
请参阅要点 - https://gist.github.com/Soopster/dd0fbd754a65fc5edfa9