我在 Azure 的服务总线上有一个主题订阅,锁定持续时间为 30 秒并启用了会话。
我正在使用逻辑应用程序使用峰值锁定获取主题的消息,因为我关心处理消息的顺序。我想确保所有具有相同会话 id 的消息都按照它们添加到总线的顺序进行处理,即 FIFO。
下面是一个简单逻辑应用程序的屏幕截图,它在消息到达时触发(带有 5 秒轮询的 peek-lock),然后等待 15 秒才能完成消息。
当我在主题上加载 10 条消息时,逻辑应用程序的第一个实例会按您的预期触发并在大约 15 秒内完成,但是第二个逻辑应用程序不会在另外 15 秒内启动,即总共 30 秒后第一个逻辑应用程序启动(锁定持续时间的长度)。
我读过的所有内容都表明完成一条消息应该立即释放锁,但情况似乎并非如此。我做错了什么还是这就是它的工作方式?