У меня есть приложение OTP, состоящее из одного супервизора, который контролирует небольшое количество gen_servers. Типичная дочерняя спецификация выглядит следующим образом:
{my_server,
{my_server, start_link, [123]},
permanent,
5000,
worker,
[my_server]}
Пока проблем нет.
Теперь я хочу добавить дополнительный gen_server в структуру супервизора, используя тот же модуль Module / Fn, что и выше, но с другими аргументами, например,
{my_server_2,
{my_server, start_link, [123]},
permanent,
5000,
worker,
[my_server_2]}
Я думал, что это будет работать, но нет:
=SUPERVISOR REPORT==== 15-Apr-2010::16:50:13 ===
Supervisor: {local,my_sup}
Context: start_error
Reason: {already_started,<0.179.0>}
Offender: [{pid,undefined},
{name,my_server_2},
{mfa,{my_server,start_link,[]}},
{restart_type,permanent},
{shutdown,5000},
{child_type,worker}]
Должны ли отличаться аргументы модуля во втором элементе каждой дочерней спецификации?
Спасибо
Justin