我想动态更改梁实例的节点名称。
用例在 VM 集群中我希望启动过程查找 ip 信息,然后从中选择一个名称。
node()
# => :nonode@nohost
# Lookup ip and change name
node()
# => :myapp@x.x.x.x
最佳答案
是的,您可以使用 net_kernel:start/1
在 Erlang 或 Node.start/{1,2,3}
在 Elixir 中:
1> node().
nonode@nohost
2> net_kernel:start(['myapp@1.2.3.4']).
{ok,<0.60.0>}
(myapp@1.2.3.4)3> node().
'myapp@1.2.3.4'
iex(1)> Node.self
:nonode@nohost
iex(2)> Node.start :"myapp@1.2.3.4"
{:ok, #PID<0.83.0>}
iex(myapp@1.2.3.4)3> Node.self
:"myapp@1.2.3.4"
关于erlang - 是否可以更改正在运行的 Elixir 节点的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40174519/