Size: a a a

Эликсир и Вунш

2020 January 03

МК

Максим Кузьмин in Эликсир и Вунш
DooDLeZz*
Запустить воркер под динамическим супервайзером получается, все отлично работает. Но мне нужно сделать древо надзора, и я уперся в проблему запуска супервайзера под динамическим супервайзером)
Надо попробовать как от салатов отойду
источник

МК

Максим Кузьмин in Эликсир и Вунш
А что говорит?
источник

D

DooDLeZz* in Эликсир и Вунш
Для запуска подпроцесса у динамического супервайзера необходимо вторым аргументом функции start_child передать spec
источник

D

DooDLeZz* in Эликсир и Вунш
но при передаче spec он запускает его как worker
источник

IK

Ihor Katkov in Эликсир и Вунш
DooDLeZz*
но при передаче spec он запускает его как worker
Что ты имеешь в виду как воркер?
источник

D

DooDLeZz* in Эликсир и Вунш
DynamicSupervisor.count_children(MyDynamicSupervisor)

Возвращает: %{active: 1, specs: 1, supervisors: 0, workers: 1}
источник

D

DooDLeZz* in Эликсир и Вунш
Тогда как в обычном, НЕдинамическом супервайзере я создаю древо надзора и запущеные дочерние супервайзеры отображают:
%{active: 1, specs: 1, supervisors: 1, workers: 0}
источник

AB

Alexey Bolshakov in Эликсир и Вунш
Так не запускай супервайзер под динамическим. Прикрепи выше, в корневой, статический
источник

IK

Ihor Katkov in Эликсир и Вунш
DooDLeZz*
Тогда как в обычном, НЕдинамическом супервайзере я создаю древо надзора и запущеные дочерние супервайзеры отображают:
%{active: 1, specs: 1, supervisors: 1, workers: 0}
На сколько я помню там нет никакой разницы
источник

IK

Ihor Katkov in Эликсир и Вунш
Вечером гляну в проекте
источник

D

DooDLeZz* in Эликсир и Вунш
Alexey Bolshakov
Так не запускай супервайзер под динамическим. Прикрепи выше, в корневой, статический
Нужно динамически
источник

v

vtm in Эликсир и Вунш
DooDLeZz*
Нужно динамически
А почему именно динамический?
источник

D

DooDLeZz* in Эликсир и Вунш
Потому что количество дочерних супервайзеров неопределено
источник

v

vtm in Эликсир и Вунш
DooDLeZz*
Потому что количество дочерних супервайзеров неопределено
Это можно и без динамик супервизоры сделать, вроде как
источник

D

DooDLeZz* in Эликсир и Вунш
Supervisor.start_child?
источник

v

vtm in Эликсир и Вунш
Сейчас @tank_bohr  расскажет)
источник

AN

Alexey Nikitin in Эликсир и Вунш
DooDLeZz*
Supervisor.start_child?
угу
источник

AN

Alexey Nikitin in Эликсир и Вунш
ща полез смотреть зачем вообще в эликсир завезли DynamicSupervisor. непонятно зачем
источник

AN

Alexey Nikitin in Эликсир и Вунш
есть такой PR https://github.com/elixir-lang/elixir/pull/7006
но он чет нихера не отвечает на вопрос, какую задачу он решает
источник

AN

Alexey Nikitin in Эликсир и Вунш
единственное, что приходит на ум, это то что пацанам не нравится :simple_one_for_one потому что он сильно по-другому себя ведет
источник