2012-04-24 39 views
3

我們公司使用rails作爲我們的服務器,我們將每天收集任務而無需監控。當rake中止時,我們無法獲取中止信息,直到我們發現我們的數據很奇怪。如何查看自動每日Rake任務的輸出?

如何通過電子郵件或通過任何其他方法儘快獲取耙耙信息?

+0

見:http://stackoverflow.com/questions/7161374/rails-exception-notifier-in-rake-tasks – Vik 2012-04-24 08:02:13

回答

1

你可以試試這個寶石 - 如果您通過cron運行你的Rake任務https://github.com/oscardelben/rake_notifier

+0

這是一個空的項目上git-hub .....作者還沒有開始做任何事情...... – kobe6672823 2012-04-24 09:21:08

+0

它不是空的,閱讀README文件。 – 2012-04-24 10:58:58

+0

對於我的疏忽,我很抱歉,我找到了你說的,我要去測試它!謝謝你的幫助:) – kobe6672823 2012-04-24 11:08:52

1

,您可以定義MAILTO變量(見man 5 crontab瞭解詳細信息)。這應該將您的cron作業的標準輸出和標準錯誤發送到MAILTO定義的地址。

另一個常見問題是,cron並不總是與普通shell建立相同的環境,所以你應該在你的crontab中設置適當的環境(這將是實現特定的,並且可能不可能和/或可移植的),或者只是創建一個包含運行任務所需的所有必要環境變量的shell腳本。

你的crontab應該是這個樣子:

[email protected] 

# This should work if your crontab environment knows about Ruby and Rake. 
PATH=/path/to/ruby:$PATH 
GEM_PATH=/path/to/gems 
0 0 * * * cd /path/to/project; rake foo 

# Otherwise, just create a shell script with a sane environment for running 
# rake tasks, and call your rake tasks from the script. 
1 0 * * * /path/to/your/script.sh