So far, I know that when I start my Elixir application, a bunch of dependent applications also get started.
Are these dependent applications started inside my app supervision tree somehow?
What happens if a dependent application crashes? Is it restarted?
I guess that Elixir works like Erlang for application.
application:ensure_all_started(Application[,StartType])
, StartType can be either
temporary
: (default value): nothing occurs if a temporary
application stops for any reasonpermanent
: all other applications terminate if a permanent
application stops for any reasontransient
: all other applications terminate is a transient
application stops for any reason but normal
application:ensure_started(Application[,StartType])
for each dependencies. Note that in both cases, the StartType
only controls the effect of one application termination on the others, but there is no restart strategy applied.application:which_applications()