app.ex (558B)
1 defmodule DBConnection.App do 2 @moduledoc false 3 use Application 4 5 def start(_, _) do 6 children = [ 7 {Task.Supervisor, name: DBConnection.Task}, 8 dynamic_supervisor(DBConnection.Ownership.Supervisor), 9 dynamic_supervisor(DBConnection.ConnectionPool.Supervisor), 10 DBConnection.Watcher 11 ] 12 13 Supervisor.start_link(children, strategy: :one_for_all, name: __MODULE__) 14 end 15 16 defp dynamic_supervisor(name) do 17 Supervisor.child_spec( 18 {DynamicSupervisor, name: name, strategy: :one_for_one}, 19 id: name 20 ) 21 end 22 end