Альтернатива для перезапуска phoenix.server без выхода

Есть ли способ перезагрузить mix phoenix.server кроме выхода (например, с помощью CTRL+c дважды или прерывания и т. д.) и повторного запуска?

Предпосылки для этого: я использую foreman для запуска сервера phoenix плюс тестовый прогон и т. Д. Если мне нужно выйти из сервера, все уничтожено, и я должен полностью перезапустить мастера. Если бы я мог просто запустить перезапуск задания phoenix.server, все остальное могло бы продолжаться.

Так как я использую tmux и запускаю команды мастера на разных панелях, это очень поможет. Команда, запускаемая из командной строки, тоже подойдет.

2 ответа

Решение

Вы можете запустить свой сервер в iex сессия с

iex -S mix phx.server

Затем остановите, перекомпилируйте и запустите приложение с:

Application.stop(:your_app)
recompile()
Application.ensure_all_started(:your_app)

Это должно забрать любые изменения кода и воссоздать дерево контроля приложений.

вы также можете сделать :init.restart()

Другие вопросы по тегам