在不退出的情况下重新启动 phoenix.server 的替代方法

Kar*_* S. 3 elixir phoenix-framework

mix phoenix.server除了退出(例如通过CTRL+c两次或中止等)并重新启动之外,还有什么方法可以重新启动它?

这样做的背景是:我用foreman启动凤凰服务器加上test runner等。如果我必须退出服务器,一切都被杀死了,我必须完全重新启动foreman。如果我可以触发 phoenix.server 作业的重新启动,其他一切都可以保持运行。

由于我使用 tmux 并在不同的窗格中运行工头命令,这会很有帮助。通过命令行触发的命令也可以。

Mik*_*hot 5

您可以在iex会话中启动服务器

iex -S mix phx.server

然后停止,重新编译并启动应用程序:

Application.stop(:your_app)
recompile()
Application.ensure_all_started(:your_app)
Run Code Online (Sandbox Code Playgroud)

这应该拾取任何代码更改并重新创建应用程序监督树。