Azure 功能 10 分钟后停止

问题描述 投票:0回答:1

我有在应用程序服务计划上运行的天蓝色功能。 主机文件是这样的:

{
  "version": "2.0",
  "functionTimeout": "02:00:00",
  "logging": {
    "applicationInsights": {
      "samplingSettings": {
        "isEnabled": true
      }
    }
  },
  "extensions": {    
    "queues": {
      "batchSize": 32
    },
    "serviceBus": {
      "maxAutoLockRenewalDuration": "02:00:00",
      "maxConcurrentCalls": 100
    }
  }
}

我的代码将运行 10 分钟更长的时间,但似乎在 10 分钟后停止。
如果我监视功能日志记录,我可以看到作业已启动,10 分钟后服务总线给出第二个交付计数。并且功能再次启动。

此队列的服务总线设置为:

锁定时间:PT5M
最大大小(兆字节):5,120
最大消息大小(以千字节为单位):256
需要重复检测: false
需要会话: false
默认消息生存时间:P10675199DT2H48M5.477S
消息过期时出现死字: false
重复检测历史时间窗口:PT10M
最大送货数量:10

我正在使用点网函数。 该函数有一个 try catch,因此它不会抛出错误并始终完成。

我尝试将函数超时缩短到 3 分钟,但日志显示超时。 所以我不怀疑

functionTimeout
设置不正确

azure azure-functions azureservicebus
1个回答
0
投票

虽然您没有在问题中指定它,但似乎您正在使用

Consumption Plan
应用服务来托管您的Azure Functions。

根据文档此处,在

timeout
上执行的任何函数的最长
Consumption Plan
为 10 分钟。

增加此值的唯一替代方法是将您的功能移至

Premium
Dedicated
计划。

作为旁注 - 尽管这似乎不是你的情况 - 无论你执行函数的计划如何,如果你使用

HttpTrigger
,则最大执行时间限制为 230秒。

© www.soinside.com 2019 - 2024. All rights reserved.