【问题标题】:How to run an Erlang application under the supervisor如何在主管下运行 Erlang 应用程序
【发布时间】:2014-01-07 21:27:21
【问题描述】:

在主管下运行 Erlang 应用程序是什么意思?如果有任何示例如何制作它,请您展示一下。

【问题讨论】:

    标签: erlang erlang-supervisor


    【解决方案1】:

    这意味着您应该创建一个顶级主管,以确保应用程序的某些部分在崩溃时重新启动。

    您的应用程序的确切拓扑取决于您要执行的操作(有多少进程、它们做什么以及它们之间的关系是什么)。对于不平凡的应用程序,您可能需要创建一个顶级主管,然后再创建负责不同流程或流程组的其他主管。

    最常见的简单应用程序是创建一个应用程序,并让您的应用程序启动一个主管,该主管反过来启动一个或多个工人子级。如果您使用rebar 创建您的项目,默认情况下会为此创建存根。

    【讨论】:

    • 如果我想运行任何函数或更改参数,我应该在主管下执行此操作吗?我说的对吗?
    • 我使用 application:start(App) 运行应用程序。通过这个我运行一个主管。而主管运行具有设置连接参数(例如端口,套接字)的客户端。但是没有联系,这很奇怪。所以我需要发送一条消息来设置连接。那么这里有一个问题,我需要给客户端添加一个函数还是给supervisor添加任何参数?
    • 两者都可以。如果设置在应用程序的生命周期内没有更改,那么您可以将它们作为应用程序的环境提供并通过application:get_env() 检索它们。
    猜你喜欢
    • 2012-12-14
    • 2013-05-16
    • 1970-01-01
    • 2011-07-11
    • 2014-05-19
    • 1970-01-01
    • 2016-07-12
    • 2012-01-10
    • 2017-05-02
    相关资源
    最近更新 更多