2017-09-14 57 views
0

rake任务似乎从来由cron在Ruby推出on Rails的5应用程序(Openproject 7)Cron未启动Rake任务吗? (openproject工作:workoff)

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

,从未创建日志文件,而不是执行的任务(无调试信息)....

我该怎么办?

编辑:

通过运行在生产环境在铁轨控制台,我总是有未决的作业:

Delayed::Job.count ==> 2 

运行使用相同的用户(openproject)相同的指令直接在SSH主机工作成功:

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

不能指向你具体的事情,但它仍然听起来像访问问题。当看看第一个控制台语句时,我注意到它读取'openpjorect'而不是'openproject',所以可能有错误的地方。 – ulferts

+0

我更新了错字。我确实不是一个错字问题......有没有办法检查/模拟这个cron任务的执行? –

+0

您是否检查了对“log/cron.log”的访问? – ulferts

回答

0

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

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

我的.profile文件包含“rbenv”和路径“节点”,“rbenv INIT - ”的添加和同为节点...