2012-04-24 62 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