simple_one_for_one start_child () возвращает уже начатое - PullRequest
8 голосов
/ 23 июля 2011

У меня есть руководитель, который должен начать simple_one_for_one работников.Когда я звоню start_child() в первый раз, все идет отлично.Но, когда я делаю это во второй раз, я получаю {error,{already_started,<0.71.0>}}.Почему simple_one_for_one супервайзер вернул мне already_started?Чего мне не хватает?

Вот код: супервизор , работник .

1 Ответ

15 голосов
/ 23 июля 2011

вы регистрируете (локальное) имя для своего gen_server.как только вы запустите один, вы не сможете запустить другой с тем же именем.

, если вместо этого вы используете gen_server: start_link / 3, удалив первый аргумент из текущего вызова gen_server: start_link / 4, вы сможетечтобы запустить более одного.

...