带有子进程的 Azure 服务总线 ReceiveMessages
Azure Service Bus ReceiveMessages with Sub processes
我认为我的问题与 post“Azure 服务总线:如何续订锁?”有关但我已经尝试过 RenewLockAsync。
这是一个问题,我从启用了会话的 ServBus 接收消息,所以我得到会话然后接收消息。好的,给你擦
每条消息还有两个额外的过程要完成。将消息手动转换/收获到其他对象,然后将其发送到 Kafka 主题(流)。请注意它在这种疯狂之上的所有异步。我的团队领导坚持认为可以将两个子进程添加 INTO 接收进程 (ReceiveAsync),最后调用 session.CompleteAsync() AFTER 其他两个进程完成.
不用说,我一直在错误提示“MessageSession 上的会话锁已过期。接受一个新的 MessageSession。”有了那个架构。我什至还没有充实发送到 Kafka 的部分,它只是被嘲笑所以充实后需要更长的时间。
在子进程之后 session.CompleteAsync() 是否甚至有点合理,或者当成功接收到消息时不应该这样做,然后继续进行其他处理?我认为单独的任务会更合适,但他还是没有挖掘这个想法..
感谢所有的见解和意见谢谢!
“MessageSession 上的会话锁已过期。接受新的 MessageSession。”表示两件事之一:
- 锁打开时间过长,在这种情况下,在锁过期之前调用“RenewLockAsync”会有所帮助。
- 已通过调用 CompleteAsync、AbandonAsync、DeadLetterAsync 等显式释放消息锁。这表明存在错误,因为锁在释放后无法使用
我认为我的问题与 post“Azure 服务总线:如何续订锁?”有关但我已经尝试过 RenewLockAsync。
这是一个问题,我从启用了会话的 ServBus 接收消息,所以我得到会话然后接收消息。好的,给你擦
每条消息还有两个额外的过程要完成。将消息手动转换/收获到其他对象,然后将其发送到 Kafka 主题(流)。请注意它在这种疯狂之上的所有异步。我的团队领导坚持认为可以将两个子进程添加 INTO 接收进程 (ReceiveAsync),最后调用 session.CompleteAsync() AFTER 其他两个进程完成.
不用说,我一直在错误提示“MessageSession 上的会话锁已过期。接受一个新的 MessageSession。”有了那个架构。我什至还没有充实发送到 Kafka 的部分,它只是被嘲笑所以充实后需要更长的时间。
在子进程之后 session.CompleteAsync() 是否甚至有点合理,或者当成功接收到消息时不应该这样做,然后继续进行其他处理?我认为单独的任务会更合适,但他还是没有挖掘这个想法..
感谢所有的见解和意见谢谢!
“MessageSession 上的会话锁已过期。接受新的 MessageSession。”表示两件事之一:
- 锁打开时间过长,在这种情况下,在锁过期之前调用“RenewLockAsync”会有所帮助。
- 已通过调用 CompleteAsync、AbandonAsync、DeadLetterAsync 等显式释放消息锁。这表明存在错误,因为锁在释放后无法使用