внутри. По событию из вне, выделяется порт из пула и привязывается к своему супервизору, у которого есть дитя manager (gen_server), он и освобождает порт при нормальном shutdown. Бывает ситуация, когда сурервизор падает вместе с потомками и порт не освобождается и весит как busy. Как такое обрабатывать?
Я бы обернул порт в процесс и внутри бы мониторил овнера. Если овнер умер, то процесс помечает себя как свободный и лезет обратно в пулл
Обсуждают сегодня