node.js - Azure Functions 未执行任何操作就超时

标签 node.js azure azure-functions azure-storage-queues

我有一个 Node.js 中的 Azure Function 应用程序,其中包含几个队列触发的函数。

这些工作得很好,直到我在函数日志中看到一些超时。 从那时起,我的触发函数实际上都没有执行任何操作。他们只是在执行第一行代码之前不断超时,这是一个用于显示执行时间的context.log()语句。

LogOutput

这可能是什么原因造成的?

最佳答案

在 Azure 门户中检查您的函数存储帐户,您可能会看到文件监控事件非常高。

这可能是由于 Azure 文件之间的交互以及需要大型 node_modules 树造成的。一旦需要模块一次,函数将快速执行,因为模块被缓存,但这些超时可能会使函数应用程序陷入超时 -> 重新启动循环。

对此有很多讨论,以及一个可能的改进(在服务器端模块上使用 webpack)here .

其他可能性:

  • 如果可能,减少 Node 模块的数量
  • 转向专用计划而不是消耗计划(它在性能更好的不同文件系统上运行)
  • 使用 C# 或 F#,它们不受这些限制

关于node.js - Azure Functions 未执行任何操作就超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42052705/

相关文章:

Azure 函数需要很长时间才能触发

javascript - 如果文件不存在则创建文件,然后将日志写入其中

node.js - Mongoose : "TypeError: Undefined type at"

azure - 设置命令不适用于 Azure Kubernetes 群集中的部署更新

javascript - node.js异步azure队列存储输出绑定(bind)

azure - 无法部署 Azure Function 应用设置,因为文件共享返回 403

javascript - 正则表达式在捕获组中保留尾随斜杠

node.js - AWS lambda api 网关错误 "Malformed Lambda proxy response"

asp.net-mvc-4 - 我发布到 azure 后,与 MVC4 bundle 不起作用

azure - 如果某个主题尚不存在,如何自动创建该主题的订阅?