node.js - Azure 中使用 Node.js 的长时间运行间隔

标签 node.js azure

我正在 Azure 网站中运行 Node.js 应用程序,并尝试让计时器无限期地每 30 秒关闭一次。我尝试过同时使用 setInterval 和 node-cron但这两个方法都在大约半小时后停止工作。日志中没有错误,并且站点保持正常运行,但计时器停止触发。我可以再次启动或重新创建计时器,但它又在半小时后停止工作。

我正处于免费试用期,我是否遇到了某种帐户限制?或者我应该采取其他方式来执行此操作,或者通过某种方式来找出导致计时器停止的原因?

最佳答案

在网站上托管 Node.js 时(或者实际上使用对云服务的 node.js powershell 支持),您的 Node 进程由 IISNode 托管。

IISNode 将管理 Node 进程的生命周期。我猜它是故意在 30 分钟后关闭你的。

如果您想要一个持续运行的进程,您需要自己在 Azure 中运行 Node 。有两种选择:

  1. 使用虚拟机(当前处于预览阶段),手动将 node.exe 和 JavaScript 复制到虚拟机上,然后手动启动应用程序(或作为计划任务或其他方式)。您可以使用 Windows 或 Linux。
  2. 使用云服务,并创建一个辅助角色,将 Node 作为 startup task 启动。这也使您能够扩展。

关于node.js - Azure 中使用 Node.js 的长时间运行间隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13816113/

相关文章:

node.js - 多个异步文件 append 到同一个文件是否安全?

javascript - 如何在静态 Javascript 中嵌入 EJS 代码?

Azure 数据工厂 - 站点到站点 VPN 连接

python - 导入错误: No module named cassandra in Azure Machine Learning Studio

Azure 流分析 : How to ingest image to Azure hub in real time from my client system?

azure - appsettings.json 文件或应用服务 - Azure 门户中的应用程序设置?

node.js - 本地隧道替代方案不起作用

javascript - 从没有 express 的形式转换 body 数据

node.js - 按关系中的 DESC 续订顺序不起作用

azure - GetAccessPolicyAsync/SetAccessPolicyAsync 不适用于托管标识