为什么Azure Logic;当队列中收到消息时(peek lock)"&引用;“下一个可用”;要等这么久才能收到队列消息?
我的设置:为什么Azure Logic;当队列中收到消息时(peek lock)"&引用;“下一个可用”;要等这么久才能收到队列消息?,azure,azure-logic-apps,azure-servicebus-queues,Azure,Azure Logic Apps,Azure Servicebus Queues,我的设置: 我已创建启用会话的Azure服务总线队列。 锁定持续时间=1分钟 我已经创建了一个Azure Logic应用程序,其触发器为“当队列中收到消息时(peek lock)” 会话id=下一个可用的会话id 间隔=15,频率=秒 如果我的Azure Logic App中的步骤成功,我将完成队列中的消息,否则我将死信队列中的消息 我的结果: Azure Logic应用程序一次拾取一条队列消息并对其进行处理,但在拾取下一条消息之前,会等待整个锁定持续时间(在我的情况下,为1分钟)
- 我已创建启用会话的Azure服务总线队列。
=锁定持续时间
1分钟
- 我已经创建了一个Azure Logic应用程序,其触发器为“当队列中收到消息时(peek lock)”
=会话id
下一个可用的会话id
=间隔
,15
=频率
秒
- 如果我的Azure Logic App中的步骤成功,我将
,否则我将完成队列中的消息
死信队列中的消息
- Azure Logic应用程序一次拾取一条队列消息并对其进行处理,但在拾取下一条消息之前,会等待整个
(在我的情况下,为1分钟)锁定持续时间
- 注意:当我将会话id设置为特定会话id时,它不会等待,而是立即处理消息
- 我希望Azure Logic应用程序在完成
=会话id
下一个可用时立即处理更多队列消息。这可能吗?我是否缺少一个设置来告诉Azure Logic应用程序不要等待整个锁定期
我在生产使用中也遇到过类似的情况,我必须等待一段时间,然后将具有相同SessionId的所有消息拉到一起,但是如果有多个会话正在进行,它可以很好地运行并发逻辑应用程序,这在我的测试设置中也是一样的。啊,很好的建议!是的,队列中的多条消息都具有相同的会话id。我将体验一下我在查找有关“关闭队列中的会话”实际作用的文档时遇到了一些困难。它是否只是说客户端将断开连接(及其锁)在会话上,还是意味着队列上具有该会话id的剩余项目将被删除(可能未处理)?换句话说,关闭会话是否仅适用于客户端或队列本身?再次感谢您的响应!在完成一些实验后,它显示为“关闭队列中的会话”“应用于客户端,而不是队列。对我来说,这是一个误导性的名字。但是,您的解决方案解决了我的问题,现在Logic应用程序在完成其步骤后立即拾取队列中的下一项。谢谢