Назад | Перейти на главную страницу

Как мне выполнить действие, если исчерпан лимит респауна выскочки?

У меня новая работа:

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 будет регистрировать сбой лимита респауна через системный журнал. Хорошая идея - иметь cron-задания или монитор журнала в реальном времени, который информирует вас о подобных проблемах. Также неплохо иметь мониторинг службы на более глубоком уровне, чтобы вы были проинформированы, когда служба не работает. Upstart занимается только тем, работает ли процесс на самом базовом уровне.