gpt4 book ai didi

带有子进程的Azure服务总线接收消息

转载 作者:行者123 更新时间:2023-12-03 00:59:16 25 4
gpt4 key购买 nike

我认为我的问题与“Azure 服务总线:如何更新锁定?”一文有关。但我尝试过 RenewLockAsync。

这里有一个问题,我正在从启用了 session 的 ServBus 接收消息,因此我获取 session 然后接收消息。一切都好,这是问题所在。

每条消息需要完成两个额外的过程。将消息手动转换/收获到其他对象,然后发送到 Kafka 主题(流)。请注意,除了这种疯狂之外,它的全部都是异步的。我的团队领导坚持认为,这两个子流程可以添加到接收流程 (ReceiveAsync) 中,并最终在其他两个流程完成之后调用 session.CompleteAsync()。

好吧,不用说我一直在错误“MessageSession 上的 session 锁已过期。接受新的 MessageSession。”与那个架构。我什至还没有充实发送到卡夫卡的部分,它只是被 mock ,所以一旦充实起来,它会需要更长的时间。

子进程之后的 session.CompleteAsync() 是否甚至远程合理,或者不应该在成功接收消息时完成,然后继续进行其他处理?我认为单独的任务会更合适,但他再次没有理解这个想法..

我感谢所有的见解和意见,谢谢!

最佳答案

“MessageSession 上的 session 锁定已过期。接受新的 MessageSession。”表示以下两件事之一:

  • 锁打开时间过长,在这种情况下,在过期之前调用“RenewLockAsync”会有所帮助。
  • 消息锁已通过调用 CompleteAsync、AbandonAsync、DeadLetterAsync 等显式释放。这表明存在错误,因为锁释放后无法使用

关于带有子进程的Azure服务总线接收消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63688741/

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