我正在使用rvm环境。ruby版本:2.1.2rails:4.1.1
schedule.rb :
every 1.minute do
runner "note.send_mail"
end
我使用
whenever --update-crontab
更新cron选项卡。当我使用
crontab -l
检查作业时,显示如下,没有设置正确的时间。而cron作业不起作用。
* * * * * /bin/bash -l -c 'cd /Desktop/folder1/blog2 && bin/rails runner -e production '\''note.send_mail'\'''
有人能帮我解决这个问题吗谢谢!
最佳答案
转到~/.rvmrc
文件并添加以下内容:
rvm_trust_rvmrcs_flag=1
然后再次
whenever --update-crontab
。根据README of whenever:如果您的生产环境使用rvm(ruby版本管理器),您将遇到一个导致cron作业挂起的gotcha。这与when没有直接关系,而且调试起来可能很棘手。必须信任.rvmrc文件,否则cron作业将挂起,等待该文件被信任。一种解决方案是通过将这一行添加到~/.rvmrc中的用户rvm文件中来禁用提示。
rvm_trust_rvmrcs_标志=1
这告诉rvm信任所有rvmrc文件。
如果这对您不起作用,请尝试本页中提到的其他解决方案:RVM-Notes。