通过cron或shell_exec()在dreamhost上运行node.js脚本

时间:2014-04-03 11:06:53

标签: php node.js cron dreamhost

我想每隔x分钟在Dreamhost上的共享服务器上运行一个节点脚本。我已经设置了一个cron作业来执行:

cd /home/path && node app.js

但这似乎并没有成功。我也尝试将相同的语句放入php中的shell_exec命令中,但脚本仍然没有(可能没有完全)执行。当我手动运行该命令时,一切正常。

我唯一能想到的是脚本需要大约15秒,这可能太长了?


对于任何寻找此答案的人:在dreamhost共享服务器上运行nodejs应用程序似乎受到限制(例如here,但也可以在dreamhosts支持页面上找到)

1 个答案:

答案 0 :(得分:2)

脚本需要很长时间才不成问题。

如果你深入了解日志并发现错误是什么,我的赌注 - 这将是不言自明的。

与此同时,我怀疑原因是在没有的情况下使用完整路径调用node 。 Cronjob脚本没有配置PATH,因此调用node很可能会返回unknown command。解决方案是:在终端which node中写入以查看完整路径,然后使用它。

因此,您的cronjob脚本将类似于:

cd /home/path && /usr/local/bin/node app.js

授权节点位于/usr/local/bin

要查看cronjob运行命令中的错误:grep CRON /var/log/syslog