Erlang如何将参数从模块传递到另一个模块

时间:2016-03-31 13:58:17

标签: erlang

我有一个用erlang编写的应用程序,我添加了一个用于分发的管理程序,现在在解析了supervisor中的configFile.cfg之后,我想将配置传递给我的旧应用程序。 我现在有这样的事情:

-module(supervisor_sup).
start() ->
    application_app:start().

我想要的是:

-module(supervisor_sup).

-record(config,{param1,param2}).
%After parsing the configFile.cfg
Conf = #config{param1 = Param1,
            param2 = Param2},

start(Conf) ->
    application_app:start(Conf).

1 个答案:

答案 0 :(得分:1)

从主管或主管下的模块启动应用程序并不常见。首选方法是使用应用程序依赖项来确保所有应用程序都以正确的顺序启动。

但是,如果您希望某些配置可以从多个不同的应用程序中获得而不必多次解析配置,那么gproc库可能就是您要寻找的吗? https://github.com/uwiger/gproc

gproc可用于有效地设置全局配置等等。即使在分布式环境中也是如此。