worker(MyWorker, [arg1, arg2, arg3]),
supervisor(MySupervisor, [arg1])
]
Supervisor.start_link(children, strategy: :one_for_one)
и надо использовать module-based child specs
а чем минусы первого подхода и в чем плюсы второго?
Суть в том, чтобы перенести где указываются опции запуска для супервизора(стратегии рестарта, worker это или supervisor). В первом случае - указывается супервизору что это за процесс и как с ним обращаться, во втором случае сам child процесс говорит, я вот такой worker и пользоваться мною нужно вот так (как результат вызова child_spec)
Обсуждают сегодня