3

我们公司使用rails作为我们的服务器,我们每天都会在没有监控的情况下收集任务。当 rake 中止时,我们无法获取中止信息,直到我们发现我们的数据很奇怪。

如何通过电子邮件或任何其他方法尽快获得 rake-aborting 信息?

4

2 回答 2

1

你可以试试这个 gem - https://github.com/oscardelben/rake_notifier

于 2012-04-24T07:04:01.350 回答
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
于 2012-04-24T07:37:41.537 回答