当我运行rake mailgun
时,我创建了一个在我的本地计算机上完美运行的任务,现在我已经通过crontab文件直接在我的AWS机器上创建了一个cron任务。这是我的代码
* * * * * cd /srv/www/texteditor/current && /usr/local/bin/rake mailgun RAILS_ENV=production
我确实在文件末尾有额外的换行符。
我在该行之后添加了* * * * * env > /tmp/env.output
,该任务运行得很好。所以我知道cron
正在运作
我在AWS中使用基于Linux的Opswork。
我的rake任务位于lib/tasks
文件中的email.rake
文件夹中:
task :mailgun => :environment do
UserMailer.mailgun.deliver
end
如果我从Ubuntu中的app文件夹运行bundle exec rake mailgun
,则任务正常运行
我尝试过的其他一些事情:
deploy@rails-app1:/home/ubuntu$ ps -ef | grep cron | grep -v grep
root 991 1 0 2015 ? 00:05:04 cron
deploy@rails-app1:/home/ubuntu$ pgrep cron
991
什么可能导致任务不起作用?