python - Azure 函数以最大间隔超时,而调用尚未达到最大间隔

标签 python azure azure-functions

我意识到的非常奇怪的情况是——我的 Azure Function 每 40 分钟就会超时...这就是我的 host.json 文件中的 functionTimeout 参数设置的值:"functionTimeout": "00:40:00"

当我实际跟踪超时错误时,调用已经 40 分钟没有运行了。看来我的 Azure Function App 只是设置为每 40 分钟超时,而不管实际调用时间如何。

我的 Azure 函数也没有同时运行。我已将运行脚本的虚拟机数量减少到 1,并将 batchszie 设置为 1: "queues": { "batchSize": 1 }

在 40 分钟的间隔期间,进行调用并将数据放入我的数据库中。如果有一个调用实际上被卡住了,情况就不会是这样。至少根据我的理解,如果它不是同时运行的话。似乎在 40 分钟标记处运行的任何调用都会因超时而中断。我究竟该如何解决这个问题?

最佳答案

以下是此问题的一些可能性:

增加函数超时

  • 如果您使用的是消费套餐,请尝试更改为高级或专用套餐,因为我们可以增加这些套餐的最大超时时间。 enter image description here

数据库连接超时

  • 如果您的数据库连接空闲时间超过 30 分钟,该连接将被关闭。
  • 如果您从SSMS或任何其他应用程序连接到 Azure SQL DB 的时间超过30分钟,且没有任何事件请求,您的 session 将超时

使用持久功能

  • 您可以使用Durable function并行运行多个函数,然后等待所有函数完成。

引用

Improve the performance and reliability of Azure Functions

关于python - Azure 函数以最大间隔超时,而调用尚未达到最大间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72019778/

相关文章:

powershell - 如何获取 Azure DSC 配置来读取名称为参数的自动化帐户变量?

.net - 系统丢失方法异常 : Method not found: 'Void Microsoft.Extensions.Caching.Memory.MemoryCache..ctor'

javascript - JavaScript Azure Function 中的 if 语句不起作用

Python - 将字符串和转义的十六进制字符串数据转换为整数的更好方法?

使用 Pandas 数据读取器进行 Python 回归建模

azure - 如何使用rest api或python库为azure存储帐户中的blob或容器启用软删除

从包更新部署的 Azure 函数不可见

python - 在 python matplotlib 中绘制公差线

python - 更换双管||在 Pandas 或 Python 中

java - 使用 Apache CXF 获取 Java 中 Azure Pack 的安全 token