Рекомендуется ли добавлять ковбоя в дерево супервизора приложений?

У меня есть сервер, который запускает cowboy и ranch как самостоятельное приложение — то есть у них есть свой супервизор, их нет в дереве супервизора моего приложения.

Лучше всего включать ковбоя в дерево супервизора приложения? Если так, то как ты это делаешь?


person vagabond    schedule 02.02.2015    source источник


Ответы (1)


Типичный способ использования Cowboy, как описано в документации "Начало работы" должен указать его как зависимость в вашем файле .app. Это сообщит среде выполнения, что приложение Cowboy должно быть запущено, прежде чем ваше собственное приложение сможет запуститься.

Эта настройка проста (одна строка в вашем .app) и, как правило, должна быть надежной. Cowboy перезапустит сбойные рабочие процессы по мере необходимости, и ваше приложение на самом деле не будет об этом беспокоиться. Многие другие жизненно важные библиотеки (например, ядро) запускаются таким же образом, так что вы в хорошей компании.

Однако возможно ваше приложение нуждается в глубокой интеграции с Cowboy. Может быть, вы ожидаете, что все дерево контроля Cowboy рухнет, и хотите перезапустить его? Или, может быть, вам нужно перезапустить Cowboy, когда какой-то ваш процесс умирает?

Для этого вам нужно посмотреть cowboy_sup:start_link/0 и ranch_sup:start_link/0.

person Nathaniel Waisbrot    schedule 03.02.2015