将 iex shell 附加到 运行 elixir 应用程序
Attach an iex shell to a running elixir application
我在 heroku
上有一个 elixir(混合)应用程序 运行
我在将远程 iex shell 附加到此应用程序时遇到问题
通过此命令启动应用程序:
web: MIX_ENV=prod elixir --sname server -S mix run --no-halt
我在本地附加 shell 没问题
MIX_ENV=prod elixir --sname server -S mix run --no-halt
iex --sname console --remsh server@mru2
但是,在 heroku 上尝试时我遇到了以下问题:
heroku run "iex --sname console --remsh server@41959264-bef2-4d2e-b5de-6dcf618efa44"
Running `iex --sname console --remsh server@41959264-bef2-4d2e-b5de-6dcf618efa44` attached to terminal... up, run.4421
Erlang/OTP 17 [erts-6.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]
Could not contact remote node server@41959264-bef2-4d2e-b5de-6dcf618efa44, reason: :nodedown. Aborting...
heroku run
启动的实例似乎无法连接到 运行 服务器。我尝试强制执行通用 cookie,但无济于事。
我错过了什么?
我几乎可以肯定 Heroku dynos 上的节点 运行 不允许相互通信。但只要 cookie 在两个节点之间共享并且您连接到正确的完全限定名称,那么您上面采取的步骤就是正确的。
我在 heroku
上有一个 elixir(混合)应用程序 运行我在将远程 iex shell 附加到此应用程序时遇到问题
通过此命令启动应用程序:
web: MIX_ENV=prod elixir --sname server -S mix run --no-halt
我在本地附加 shell 没问题
MIX_ENV=prod elixir --sname server -S mix run --no-halt
iex --sname console --remsh server@mru2
但是,在 heroku 上尝试时我遇到了以下问题:
heroku run "iex --sname console --remsh server@41959264-bef2-4d2e-b5de-6dcf618efa44"
Running `iex --sname console --remsh server@41959264-bef2-4d2e-b5de-6dcf618efa44` attached to terminal... up, run.4421
Erlang/OTP 17 [erts-6.4] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]
Could not contact remote node server@41959264-bef2-4d2e-b5de-6dcf618efa44, reason: :nodedown. Aborting...
heroku run
启动的实例似乎无法连接到 运行 服务器。我尝试强制执行通用 cookie,但无济于事。
我错过了什么?
我几乎可以肯定 Heroku dynos 上的节点 运行 不允许相互通信。但只要 cookie 在两个节点之间共享并且您连接到正确的完全限定名称,那么您上面采取的步骤就是正确的。