逻辑应用程序:Servicebus轮询触发多次处理消息

时间:2018-07-19 10:32:17

标签: azureservicebus azure-logic-apps azure-servicebus-queues

我有一个Logic App轮询服务总线队列。使用Logic App上的并发控制,我已将其限制为最多5个并发实例。我使用触发器“在队列中收到消息时(自动完成)”

例如,将8条消息放入队列中时,它处理5条消息,然后在轮询间隔到期(5分钟)后,它处理4条消息...我注意到第二次处理了一条消息(DeliveryCount = 2 )。该消息的第一个Logic App实例没有引发错误,并在20秒后完成。

我尝试将锁定超时时间提高到5分钟,但是行为没有变化。我也希望自动完成触发器能够立即完成消息,所以我认为锁没有过期。

我尝试将“最大传递计数”降低到1.。但是,我的消息被置为死信(即使第一次尝试成功完成)。 DeadletterError为“尝试1次传递后无法使用邮件。”

我可以重现此内容,每次都有一个随机消息被处理两次。如果我将更多消息放入队列中,重复项就会增加。

我在使用不同逻辑应用程序的多个队列上看到了此行为。

Logic App规范:

  • “当队列中接收到消息时(自动完成)”触发器
  • 5分钟的轮询间隔
  • 最多5个并发实例

队列规格:

  • 消息TTL 14天
  • 锁定时间5分钟
  • 重复检测记录10分钟
  • 最大发货数10

任何提示都是最欢迎的!预先感谢!

0 个答案:

没有答案