Packages
livebook
0.17.2
0.19.8
0.19.7
0.19.6
0.19.5
0.19.4
0.19.3
0.19.2
0.19.1
0.19.0
0.18.6
0.18.5
0.18.4
0.18.3
0.18.2
0.18.1
0.18.0
0.17.3
0.17.2
0.17.1
0.17.0
0.16.4
0.16.3
0.16.2
0.16.1
0.16.0
0.15.5
0.15.4
0.15.3
0.15.2
0.15.1
0.15.0
0.14.7
0.14.6
0.14.5
0.14.4
0.14.3
0.14.2
0.14.1
0.14.0
0.14.0-rc.1
0.14.0-rc.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.1
0.12.0
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.3
0.9.2
0.9.1
0.9.0
0.8.2
0.8.1
0.8.0
0.7.2
0.7.1
0.7.0
0.6.3
0.6.2
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.1
0.4.0
0.3.2
0.3.1
0.3.0
0.2.3
0.2.2
0.2.1
0.2.0
0.1.2
0.1.1
0.1.0
Automate code & data workflows with interactive notebooks
Current section
Files
Jump to
Current section
Files
lib/livebook/apps/deployment_supervisor.ex
defmodule Livebook.Apps.DeploymentSupervisor do
# Supervision tree related to orchestrating app deployments in the
# cluster.
use Supervisor
@name __MODULE__
@doc """
Starts the supervisor.
"""
@spec start_link(keyword()) :: GenServer.on_start()
def start_link(_opts) do
Supervisor.start_link(__MODULE__, {}, name: @name)
end
@doc """
Starts a node-local instance of `Livebook.Apps.Manager`.
"""
@spec start_manager() :: Supervisor.on_start_child()
def start_manager() do
Supervisor.start_child(@name, Livebook.Apps.Manager)
end
@impl true
def init({}) do
children = [
# Start the supervisor dynamically managing apps
{DynamicSupervisor, name: Livebook.AppSupervisor, strategy: :one_for_one},
# Process group for app deployers
%{id: Livebook.Apps.Deployer.PG, start: {:pg, :start_link, [Livebook.Apps.Deployer.PG]}},
# Node-local app deployer
Livebook.Apps.Deployer,
# Node-local app manager watcher
Livebook.Apps.ManagerWatcher
]
Supervisor.init(children, strategy: :one_for_one)
end
end