我在Node.js中有一个带有几个队列触发函数的Azure Function应用程序。
这些功能很棒,直到我在功能日志中看到了几个超时。
从那时起,我的触发函数都没有真正做任何事情。在执行第一行代码之前,它们只是在之前保持超时,这是一个context.log()
- 语句来显示执行时间。
这可能是什么原因?
答案 0 :(得分:1)
检查azure门户中的功能存储帐户,您可能会看到非常高的文件监控活动。
这可能是由于Azure文件之间的交互以及需要大型node_modules
树。一旦模块需要一次,函数将快速执行,因为模块被缓存,但这些超时可能会使函数应用程序进入超时状态 - >重启循环。
对此有很多讨论,以及一个可能的改进(在服务器端模块上使用webpack)here。
其他可能性: