【发布时间】:2014-07-19 04:18:26
【问题描述】:
我的某些应用程序依赖项仅在设置了给定参数时才使用。我需要知道启动这些依赖项的最佳方法是什么。我正在使用 Erlang R14B04,无法使用其他版本。
我有两个选择。第一个:
%% file myapp.erl
start() ->
dep1:start(),
dep2:start(),
application:start(myapp),
case application:get_env(myapp, use_app3) ->
true ->
dep3:start()
_ ->
ok
end.
start(Type, StartArgs) ->
supervisor:start_link({local, ?MODULE}, ?MODULE, []).
第二种选择:
%% file myapp.erl
start() ->
dep1:start(),
dep2:start(),
application:start(myapp).
start(Type, StartArgs) ->
case application:get_env(myapp, use_app3) ->
true ->
dep3:start()
_ ->
ok
end.
supervisor:start_link({local, ?MODULE}, ?MODULE, []).
哪一种是解决问题的最佳方法?
【问题讨论】:
-
一些模块?或一些应用程序?因为模块随时可用,无需任何启动。模块不是进程。
-
应用程序。我编辑了 OP。
标签: erlang erlang-otp