【问题标题】:Azure functions keeps being triggeredAzure 函数不断被触发
【发布时间】:2020-09-25 11:47:39
【问题描述】:

Azure 函数(编排)和 Azure 服务总线触发器(队列)都有一个奇怪的行为。两者都在应用服务计划标准上运行,超时 > 10 小时

我在这两种情况下都使用了这样的链接:

Azure Function 1 --> Azure function 2

如果函数在几分钟内执行,它没有问题,但长时间运行的代码 > 15 分钟,函数不会使消息出队并继续重新启动。任何想法

.Net Core 3.1 ServiceBus 队列触发器和编排。

【问题讨论】:

  • 这有什么更新?

标签: azure-functions asp.net-core-3.1 azure-servicebus-queues azure-durable-functions


【解决方案1】:

服务总线消息在函数运行时被锁定。通常,锁由函数运行时自动更新(在配置的最长时间内)。请检查您的host.json 和设置maxAutoRenewDuration(默认为5 分钟,不应增加)。如果运行时没有更新锁,则消息将被另一个函数实例再次“消费”。

More details in the docs here

考虑缩短函数运行时间或在工作流程中引入中间“状态”。

【讨论】: