2015-02-02 4 views
3

У меня есть сервер, который запускает ковбой и ранчо в качестве независимого приложения - то есть у них есть собственный супервизор, они не находятся в дереве диспетчера моего приложения.Рекомендуется ли добавить ковбоя в дерево диспетчера приложений?

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

ответ

4

Типичный способ использования Cowboy, as described in the "Getting Started" documentation - перечислить его как зависимость в вашем файле .app. Это приведет к тому, что приложение Cowboy будет запущено до запуска вашего собственного приложения.

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

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

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