Azure Function App中的服务总线队列锁定令牌过期错误

时间:2019-06-27 07:02:53

标签: azure azureservicebus azure-servicebus-queues azure-function-app

我更习惯于服务总线队列,但在与Azure Function App一起使用时遇到了挑战。

我们有Azure Function App,它通过ServiceBugTrigger从Service Bus队列读取数据。根据此link,Azure Function App在内部(在队列触发器和函数执行结束时)内部管理队列消息PeekLock,我们不需要在过程结束时使用Complete()消息。

我的队列消息锁定持续时间设置为3分钟(这足以执行我的任务,超出我的要求)。我还应用了其他必需的参数来很好地处理消息,例如,

"serviceBus": {
    "maxAutoRenewDuration": "00:05:00",
    "maxConcurrentCalls": 10,
    "prefetchCount": 0
  }

在此实现中,我经常遇到LOCK DURATION EXPIRED错误。真的不知道这里发生了什么,有任何线索吗?

我习惯于服务总线队列,并且了解每个参数功能。另外,已根据要求配置了每个参数。

1 个答案:

答案 0 :(得分:0)

当maxAutoRenewDuration超过servicebus端的锁定持续时间时,会发生这种情况。 您应该检查在服务总线队列侧指定的锁定持续时间。确保它大于或等于您的azure函数中指定的maxAutoRenewDuration

您可以从门户或服务总线资源管理器中对其进行更新