2011-10-24 79 views
0

在Redhat上,使用Whenever。我的cron作業無法每小時運行一次。爲什麼我需要幫助。Rails每小時cron作業使用Whenever每小時運行失敗

Schedule.rb

every 1.hours do 
    rake "deathburrito:all", :environment => "development" 
    rake "bamboo:all", :environment => "development" 
    rake "jira:grab_data", :environment => "development" 
end 

的crontab -l

0 * * * * /bin/bash -l -c 'cd /var/www/qadashboard && RAILS_ENV=production bundle exec rake deathburrito:all --silent' 

0 * * * * /bin/bash -l -c 'cd /var/www/qadashboard && RAILS_ENV=development bundle exec rake bamboo:all --silent' 

0 * * * * /bin/bash -l -c 'cd /var/www/qadashboard && RAILS_ENV=development bundle exec rake jira:grab_data --silent' 

誰能幫助我?我甚至不知道還有什麼我應該檢查。

回答

1

bundle必須在該子外殼的路徑中。嘗試指定一個完整的/usr/bin/bundle(或其它)。

+0

所以如果我跟着你,我會改變這個捆綁exec rake bamboo:all --silent to/usr/bin/bundle/bundle exec rake bamboo:all --silent? – ScottJShea

+1

是的。除非可以保證/ usr/bin/bundle將在特定的shell路徑中,否則必須使用完整路徑。 –

+0

應該有這個想法...我需要指定耙位置... – ScottJShea

2

添加

[email protected] 

到你的crontab。然後享受cron的錯誤報告。

如果這樣不能解決問題,請在此處發佈錯誤報告。

+0

不錯......我不知道這一點。這將是一個很大的幫助。 – ScottJShea

1

追加登錄到配置/ schedule.rb

set :output, "/var/log/cron" 

,並創建在/ var這個文件 '的cron'/日誌,並給它寫權限。

執行

bundle exec whenever --update-crontab 
    sudo /etc/init.d/cron restart 

要查看日誌:

tail -f /var/log/cron 

會給你的錯誤更深入的瞭解。

相關問題