在Node.js与Cron Job中设置时间间隔?

我正在学习node.js,并设置一个空的Linux虚拟机和安装的节点。

我每分钟都在运行一个函数

var request = require('request') var minutes = 1, the_interval = minutes * 60 * 1000 setInterval(function() { // Run code }) }, the_interval); 

并考虑根据当前时间添加一些其他function。 – (例如,如果dateTime =星期日中午,则运行函数)

我的问题是,与传统的cron工作相比,运行这样的工具有什么缺点?

请记住,我必须在节点每分钟运行此function。

这取决于你必须严格遵守这个分钟的时间间隔,以及如果你的节点脚本正在做其他的事情。 如果脚本所做的唯一事情是每X都运行一些东西,那么我会强烈地考虑让你的节点脚本执行X,然后使用相应的操作系统调度程序来调度它。

如果在节点中构build并运行它,则必须pipe理应用程序的生命周期,并确保它正在运行,从崩溃中恢复等。通过CRON每分钟执行一次更直接,在我看来,更符合Unix哲学 。

我的问题是,与传统的cron作业相比,运行这样的设置有什么缺点?

只要//run the code不像encryption那样是一个CPU绑定的东西,坚持1节点进程,至less要启动。 既然你需要request我想你可能正在做一个HTTP请求,这是IO,这意味着这将是好的。

安装/启动/启动/停止/升级/连接debugging器比处理应用程序服务器以及单独的cronpipe理的stream程简单得多。 值得一提的是,将它保存在JavaScript中可以跨平台移植,尽pipe这可能并不重要。

还有一个方便的节点克隆模块,我已经使用以及大约一个bazillion其他替代品。