我有一个启动simple_one_for_one子项的主管。实际上,每个孩子都是拥有自己的树的主管。每个孩子都有一个独特的ID,所以我可以区分它们。Simple_one_for_one应用程序
-define(SERVER(Id), {global, {Id, ?MODULE}}).
start_link(Id) ->
gen_server:start_link(?SERVER(Id), ?MODULE, [Id], []).
所以,每个gen_server可以轻松地与全球{{标识,MODULE_NAME}} addresed:每个gen_server然后用START_LINK(同上),其中启动。
现在我想让这个孩子的主管进入申请。所以,我妈妈的主管应该开始申请而不是主管。这应该很简单,除了一部分:将ID传递给应用程序。启动具有ID的主管很容易:主管:start_child(?SERVER,[Id])。我该如何处理应用程序?我怎样才能用不同的ID启动几个同名的应用程序(这样我就可以访问相同的.app文件)(所以我可以用监督员启动我的孩子:start_child(?SERVER,[Id]))?
如果我的问题不够清楚,这里是我的代码。所以,目前,es_simulator_dispatcher开始es_simulator_sup。我想这样做:es_simulator_dispatcher启动es_simulator_app启动es_simulator_sup。这是所有有给它:-)
由于提前, dijxtra
是的,你是对的......在Erlang看来,不可能做我想做的事情。可怜。 – dijxtra