Cron在Ruby on Rails 5应用程序(Openproject 7)中似乎从未启动过rake任务
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
我想念什么?
答案 0 :(得分:0)
我找到了解决方案,这得益于一个非常好的建议:cron和普通用户的环境变量是不同的(shell不一样......模糊的原因)。
通过直接添加cron th einstruction“source /home/username/.profile;”问题就消失了。
我的.profile包含在路径中添加“rbenv”和“node”,“rbenv init - ”和节点相同...