我需要每秒运行一次nodejs脚本,类似于PHP cron作业。我尝试了一些像https://github.com/ncb000gt/node-cron这样的nodejs cron库,但首先运行的问题应该是手动i:e我必须首次手动运行带有cron脚本的文件。
但是在php cron作业中,它们由服务器运行,因此如果运行脚本的apache服务器将自动启动,即使脚本在一个周期内返回错误,脚本也会从下一个周期开始再次运行
那么有没有办法在nodejs中实现这个目标?
答案 0 :(得分:0)
您有两种选择:
使用Node作为守护进程,使用Supervisord之类的东西来运行node-cron脚本。这种替代方案浪费在RAM等资源上,因为Node和Supervisord一直在运行。
使用系统的crontab,您可以运行您的脚本,例如在命令行上调用Node,例如* * * * node /path/to/your/script.js
。这种替代方案效率很高但缺乏一些控制,比如能够在出现错误时记录输出,尽管您可以将输出传输到文件:node script.js > logfile