0

rake 任务似乎从未由 Cron 在 Ruby on Rails 5 应用程序(Openproject 7)中启动

openproject$ crontab -l
* * * * * cd /home/openproject/openproject-ce && RAILS_ENV=production bundle exec rake jobs:workoff >> log/cron.log

永远不会创建日志文件,也不会执行任务(没有调试信息)....

我应该怎么办 ?

编辑 :

通过在生产环境中运行 rails 控制台,我总是有待处理的工作:

Delayed::Job.count ==> 2

直接在 ssh 控制台中使用相同的用户(openproject)运行相同的指令可以成功:

RAILS_ENV=production bundle exec rake jobs:workoff
    ==> returns successfully and Delayed::Job.count ==> 0

cron 守护进程似乎正在运行:

sudo service cron status
    cron.service - Regular background program processing daemon
    Loaded: loaded (/lib/systemd/system/cron.service; enabled)
    Active: active (running) since Sat 2017-07-15 16:03:13 CEST; 2 months 0 days ago

我想念什么?

4

1 回答 1

0

多亏了一个非常好的建议,我找到了解决方案:cron 和普通用户的环境变量不同(shell 不相同......原因不明)。

通过直接在 cron 中添加指令“source /home/username/.profile;”,问题就消失了。

我的 .profile 包含在路径中添加“rbenv”和“node”,“rbenv init -”和节点相同...

于 2017-09-19T13:47:48.147 回答