如何查看自动每日Rake任务的输出?

时间:2012-04-24 04:06:39

标签: ruby-on-rails ruby rake-task

我们公司使用rails作为我们的服务器,我们将在没有监控的情况下每天执行任务。当耙子中止时,我们无法获得中止信息,直到我们发现我们的数据很奇怪。

如何通过电子邮件或其他任何方式尽快获取佣金中止信息?

2 个答案:

答案 0 :(得分:1)

你可以尝试这个宝石 - https://github.com/oscardelben/rake_notifier

答案 1 :(得分:1)

如果您通过cron运行Rake任务,则可以定义MAILTO变量(有关详细信息,请参阅man 5 crontab)。这应该将标准输出和标准错误从您的cron作业发送到MAILTO定义的地址。

另一个常见问题是cron并不总是设置与普通shell相同的环境,因此您应该在crontab中设置适当的环境(这将是特定于实现的,并且可能无法和/或可以创建一个shell脚本,其中包含运行任务所需的所有必要环境变量。

你的crontab应该是这样的:

MAILTO=user@example.com

# 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