gpt4 book ai didi

c# - 锁定期限到期后不能续订锁定吗?使用 Azure 服务总线主题

转载 作者:太空宇宙 更新时间:2023-11-03 19:08:04 26 4
gpt4 key购买 nike

使用 Azure 服务总线主题

例如,5分钟后,如果尝试续订锁,则会显示“锁已过期”消息!

还有什么其他选择可以克服它..

我的事务需要超过 5 分钟,之后我想将代理消息状态设置为已完成。

有什么选择吗?

最佳答案

补充一下 Sam 的答案,如果锁定持续时间已过,您将无法续订对该消息的锁定。一旦锁过期,消息就可以分发给另一个消费者。这意味着,如果允许您在锁过期后调用更新锁,其他人可能正在处理该消息,并且就服务总线而言,它已经被其他消费者锁定。有人可能会说,如果 RenewLock 会检查消息是否已经再次发出,如果没有则更新,这将是一个“很好的选择”,但它并没有这样做。如果您有足够的消费者,并且考虑到消息是按顺序粗略处理的,那么消息很可能已经在其他地方关闭了。

如果您遇到工作单元耗时超过 5 分钟的情况,您需要在处理过程中或在单独的线程上管理续订。例如,如果您的处理是执行一些工作并且控制流经常返回到您的代码,则处理线程可以密切关注时间量并根据需要进行更新;但是,您的处理线程很可能会很忙,在这种情况下您需要一个单独的线程来处理更新。

您可以查看系统正在执行哪些处理操作,看看是否可以将其分解为更小的工作 block 并分布在一系列队列中。

关于c# - 锁定期限到期后不能续订锁定吗?使用 Azure 服务总线主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24030477/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com