gpt4 book ai didi

erlang - 如何分发 Erlang 进程(主管行为)?

转载 作者:行者123 更新时间:2023-12-03 21:39:58 26 4
gpt4 key购买 nike

我有一个运行主管行为的 Erlang 应用程序。现在我想将它分布在不同的节点上,这意味着受监督的进程应该在不同的计算机上运行。

虽然我阅读了 OTP 文档,但我还没有掌握如何配置我的应用程序来执行此操作。

目前,.app文件如下所示:

{application, my_application,
[{description, "My Description"},
{vsn, "1"},
{modules, [my_application, my_supervisor, supervised_process, my_monitor]},
{registered, [my_supervisor]},
{applications, [kernel, stdlib]},
{mod, {my_application,[]}},
{env, [{file, "/usr/local/log"}]}
]}.

如果我有两台计算机运行命名为 Erlang 的 VM,我如何配置应用程序以在两台计算机上运行一些受监督的进程?

最佳答案

一旦每个 Erlang 虚拟机在同一个内部网络上运行并使用相同的 Erlang cookie,您就可以使用 net_adm模块来检查另一个节点是否存在以及 rpc模块之间进行通信。

这是一个检查其他节点是否正在响应并向其发送同步消息的示例:

 Remote = app2@localhost,
pong = net_adm:ping(Remote),
ok = rpc:call(Remote, supervised_process, do_something, []).

据我所知,您不能让一个节点上的主管监督另一个节点上的进程。您只能通过消息控制其他节点。

关于erlang - 如何分发 Erlang 进程(主管行为)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22913260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com