我有一份新贵的工作:
description "foreman"
start on runlevel [2345]
stop on runlevel [06]
respawn
respawn limit 3 60
chdir /home/deploy/app/current
env RAILS_ENV=production
exec sudo -u deploy bundle exec foreman start
我们遇到过这种情况:应用文件中的恶意字符导致其中一个后台工作程序失败,但应用运行正常(很奇怪)。应用运行正常,但工作程序始终无法运行。
如果 upstart 无法启动此作业,我希望它能执行某些操作(发送电子邮件),因为目前还不清楚是否一切正常。upstart 中是否有内置功能可以处理此问题,还是我必须发挥创造力?
答案1
upstart 将通过 syslog 记录重生限制失败。最好使用 cron 作业或实时日志监视器来通知您此类问题。最好对服务进行更深层次的监控,以便在服务似乎未运行时通知您。Upstart 只关心进程是否在非常基本的级别运行。