Rails на Heroku, как следить за рабочим процессом
У меня есть критический рабочий процесс для моего приложения на Rails, который представляет собой машинный цикл обработки событий в Твиттере (кто-то пишет в Твиттере, он автоматически обрабатывает твит и запускает другой код на основе контента, иначе известный как гем твита).
Моя проблема в том, что я не знаю о правильных / хороших способах мониторинга процесса в производственном процессе, например, если процесс останавливается или работает неправильно, я хочу тем или иным способом получить уведомление, чтобы попытаться обратиться к нему. это быстро. У меня есть гем NewRelic для мониторинга моего веб-сервера, но я не был уверен, применимо ли оно к рабочим потокам.
Что я ищу:
- Убедитесь, что сам процесс работает постоянно, или получите уведомление, если нет
- Убедитесь, что события (получение твита) приводят к тому, что код проходит весь путь (будьте уведомлены, если перед завершением выдается ошибка и где)
- Возможно, убедитесь, что некоторые инварианты хранятся или уведомлены, если нет
Возможно, то, что я ищу, является частью обычного рабочего процесса регистратора (с использованием разных уровней журналирования?). Если это так, подтверждение этого также будет довольно полезным для меня. Любой совет приветствуется, спасибо!
РЕДАКТИРОВАТЬ: сказал NewEgg вместо NewRelic... упс
2 ответа
Последние два требования могут быть выполнены с помощью ведения журнала, но это потребует некоторой работы для отправки вам уведомлений по электронной почте, когда событие не проходит по всему вашему коду или проводится.
Возможно, вы захотите проверить плагин NewRelic на Heroku - теперь он бесплатен для небольшого числа динамометров, и он может предупреждать вас, если процесс работает постоянно, и уведомлять вас, если это не так.