Azure中使用Node.js的长时间间隔

时间:2012-12-11 08:12:35

标签: node.js azure

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

我正处于免费试用期,我在这里遇到某种帐户限制吗?或者是否有其他方式我应该这样做或某种方式来解决什么使计时器停止?

1 个答案:

答案 0 :(得分:4)

在网站上托管Node.js(或实际上使用对Cloud Services的node.js powershell支持)时,您的节点进程由IISNode托管。

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

如果您希望流程能够保持不变,则需要在Azure中自行运行节点。有两种选择:

  1. 使用虚拟机(当前处于预览状态),并手动将node.exe和javascript复制到虚拟机上,然后手动启动应用程序(或作为计划任务或其他任务)。您可以使用Windows或Linux。
  2. 使用云服务,并创建一个以startup task为节点启动节点的辅助角色。这使您也可以进行缩放。