У меня есть руководитель, который запускает детей simple_one_for_one.Каждый ребенок на самом деле является руководителем, у которого есть свое дерево.Каждый ребенок запускается с уникальным идентификатором, поэтому я могу их различить.Затем каждый gen_server запускается с start_link (Id), где:
-define(SERVER(Id), {global, {Id, ?MODULE}}).
start_link(Id) ->
gen_server:start_link(?SERVER(Id), ?MODULE, [Id], []).
Таким образом, каждый gen_server можно легко добавить с помощью {global, {Id, module_name}}.
Now I 'Я хотел бы сделать этого ребенка надзирателем в приложении.Итак, моя мать должна запускать приложения вместо руководителей.Это должно быть просто, за исключением одной части: передача идентификатора в приложение.Начать супервизор с идентификатором очень просто: supervisor: start_child (? SERVER, [Id]).Как мне сделать это для приложения?Как я могу запустить несколько приложений с одним и тем же именем (чтобы я мог получить доступ к одному и тому же файлу .app) с другим ID (чтобы я мог запустить своих детей с супервизором: start_child (? SERVER, [Id]))?
Если мой вопрос недостаточно ясен, вот мой код.Итак, в настоящее время es_simulator_dispatcher начинает es_simulator_sup .Я хотел бы иметь это: es_simulator_dispatcher запускает es_simulator_app, который запускает es_simulator_sup.Вот и все, что нужно сделать: -)
Заранее спасибо, dijxtra