Противоположность инициализаторов направляющих (2.xx)?

Я выполняю несколько демонов в config/initializers/, когда я запускаю свое приложение для направляющих, но мне нужен способ обнаружить, когда приложение закрывается, и остановите демонов.

Есть ли какие-либо рычаги / места, где я могу сделать это?

1
задан rmk 17 July 2010 в 19:23
поделиться

1 ответ

Насколько мне известно, формального способа развернуть приложение в рамках Rails не существует. Вы можете рассмотреть возможность установки одного или нескольких обработчиков для базового средства языка Ruby at_exit . Однако это касается только упорядоченного завершения работы приложения.

Более общая стратегия заключалась бы в использовании инфраструктуры мониторинга сервера, которая выявляла бы упорядоченные и неожиданные случаи выхода для вашего приложения. Я очень сомневаюсь, что обработчики at_exit будут вызываться, если ваш экземпляр rails был размещен внутри Passenger и связанный сервер Apache или Nginx по какой-то причине вылетел из строя, хотя я на самом деле не тестировал это. Подобные наблюдения, вероятно, применимы к любому контейнеру приложения, который неожиданно завершит работу.

Вы можете рассмотреть что-то вроде God или Monit или Nagios (в зависимости от того, насколько сложны ваши требования) для реализации общей стратегии обработки завершения работы приложения и выполнения то, что нужно для каждого стечения обстоятельств. Эти фреймворки также могут отслеживать этих демонов.

2
ответ дан 2 September 2019 в 22:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: