Current section
Files
Jump to
Current section
Files
lib/grpc_reflection/supervisor.ex
defmodule GrpcReflection.Supervisor do
@moduledoc false
use Supervisor
def start_link(opts) do
Supervisor.start_link(__MODULE__, opts, name: __MODULE__)
end
@impl Supervisor
def init(opts) do
children = [
%{
id: OneOffTask,
start: {Task, :start_link, [__MODULE__, :one_off_task, []]},
type: :worker,
restart: :temporary
},
%{
id: GrpcReflection.DynamicSupervisor,
start: {GrpcReflection.DynamicSupervisor, :start_link, [opts]},
type: :supervisor,
restart: :permanent
}
]
Supervisor.init(children, strategy: :one_for_one)
end
@doc false
def one_off_task do
Protobuf.load_extensions()
:ignore
end
end