У меня есть приложение Erlang, которое имеет зависимость в своем каталоге deps от другого приложения.
Насколько я понимаю, я тоже могу;
а) запустить мое зависимое приложение из моего включающего приложения, вызвав application:start(some_other_app), который запускает приложение и показывает, что оно работает автономно в Observer.
b) включить мое зависимое приложение в мой файл .app с помощью {included_applications, [some_other_app]}, чтобы приложение загружалось, а не запускалось, а затем запускать включенное приложение из моего собственного супервизора верхнего уровня. Это снова запускает включенное приложение и показывает, что оно работает ниже моей собственной иерархии контроля в Observer.
Мой вопрос в том, когда я должен использовать любой подход? Если я использую вариант «а», и мое зависимое приложение завершает работу, будет ли оно перезапущено, или мне следует использовать подход «б», чтобы все имеющиеся у меня зависимости контролировались соответствующим образом?
Кстати, я использую Rebar для упаковки и управления своими зависимостями.
Спасибо,
Энди.