我们公司使用rails作为我们的服务器,我们每天都会在没有监控的情况下收集任务。当 rake 中止时,我们无法获取中止信息,直到我们发现我们的数据很奇怪。
如何通过电子邮件或任何其他方法尽快获得 rake-aborting 信息?
我们公司使用rails作为我们的服务器,我们每天都会在没有监控的情况下收集任务。当 rake 中止时,我们无法获取中止信息,直到我们发现我们的数据很奇怪。
如何通过电子邮件或任何其他方法尽快获得 rake-aborting 信息?
你可以试试这个 gem - https://github.com/oscardelben/rake_notifier
如果您通过 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