2010-11-13 60 views
1

我正在嘗試使用whenever創建一個cron作業。我已經編寫了應該在schedule.rb中運行cron作業並且還更新了railscasts集中提到的crontab。但cron工作似乎沒有運行。我只是在本地機器上使用它。使用每當紅寶石寫作cron作業時的問題

這是schedule.rb代碼

every :sunday, :at => "2:28am" do 
    runner "App.send_status", :environment => :development 
end 

,這是什麼來的時候我(即2:23做的crontab -l

28 2 * * 0 /bin/bash -l -c 'cd /Users/felix/cron && script/rails runner -e development 
'\''App.send_status'\''' 

我設置cron的領先僅需5分鐘)。

它得到執行,當我試圖在命令行中像

script/rails runner -e development "App.send_status" 

能否請你告訴我,我是否失去了一些東西。 謝謝!

+0

你是對的。但有沒有辦法糾正它。它是由gem本身生成的 – felix 2010-12-11 19:41:17

回答

0

要調試這一點,我會先放一些看跌期權與狀態文本在App.send_status

然後到服務器,並添加下面一行「crontab -e命令」

[email protected] 

所有賣出期權輸出應在執行後不久在您的郵箱中。

+0

如果你沒有在服務器上安裝MTA,調試它的另一種方法是將它添加到你的schedule.rb文件中:set:output,「#{path}/log /cron_log.txt「 然後,它將路由到cron作業的輸出,將其記錄到日誌目錄中,您可以在其中查看錯誤信息。 – zippy 2012-10-10 15:30:07