что пока выглядит так что ты хочешь чтоб вместо Application.ensure_all_started, был бы какой-то Dependency.start_these_before_me Видимо с лексикографической сортировкой, а не с топологической. Либо в дивном мире без апликейшенов порядок запуска будет не важен? не знаю, ответов нет. Так же нет ответа на вопрос что мешает запускать по одному приложению через Application.start или руками раскидать нужные супервизоры по дереву?
Ничто не мешает. Я говорю что Application это реально не нужно, это лишняя сущность А насчёт реальной проблемы — пожалуйста. Вот у меня есть mnesia, я подписываюсь на изменения в таблице. Потом кто-то рестартит mnesia и подписка теряется. Нормального способа подписаться обратно после перезапуска mnesia просто нет Хотя если бы я ручками мог это всё контроллировать, такой проблемы бы вообще не стояло
а мониторы уже отменили? =) :mnesia.start() :erlang.monitor(:process, :mnesia_sup) :mnesia.stop() flush() ... профит
Так и что мониторы? Ну вот я узнал что mnesia умерла. Мне нужно подписаться, когда она запустится. И этот запуск нормально отловить невозможно
Обсуждают сегодня