Packages
dynamic_supervisor_proxy
0.1.11
0.1.71
0.1.70
0.1.69
0.1.68
0.1.67
0.1.66
0.1.64
0.1.63
0.1.62
0.1.61
0.1.60
0.1.57
0.1.56
0.1.55
0.1.54
0.1.53
0.1.52
0.1.51
0.1.49
0.1.48
0.1.47
0.1.46
0.1.45
0.1.44
0.1.43
0.1.42
0.1.41
0.1.40
0.1.39
0.1.38
0.1.37
0.1.36
0.1.35
0.1.34
0.1.33
0.1.32
0.1.31
0.1.30
0.1.29
0.1.28
0.1.27
0.1.26
0.1.25
0.1.24
0.1.23
0.1.22
0.1.21
0.1.20
0.1.19
0.1.18
0.1.17
0.1.16
0.1.15
0.1.14
0.1.13
0.1.12
0.1.11
0.1.10
0.1.9
0.1.8
0.1.7
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0
Starts a module-based dynamic supervisor process with a registered name. Will wait a bit if the supervisor name is still registered on restarts.
Current section
Files
Jump to
Current section
Files
lib/dynamic_supervisor/proxy.ex
defmodule DynamicSupervisor.Proxy do
defmacro __using__(options) do
alias = options[:alias]
if alias do
quote do
use DynamicSupervisor
alias unquote(__MODULE__), as: unquote(alias)
require unquote(alias)
end
else
quote do
use DynamicSupervisor
import unquote(__MODULE__)
end
end
end
@doc """
Starts a module-based supervisor process with the given `module` and `arg`.
The `:name` option must be given in order to register a supervisor name.
Will wait a bit if the supervisor name is still registered on restarts.
See: [Supervisor restart backoff](https://github.com/erlang/otp/pull/1287)
## Examples
use DynamicSupervisor.Proxy
def start_link(:ok), do: start_link(DynSup, :ok, name: DynSup)
"""
defmacro start_link(mod, arg, opts) do
quote bind_quoted: [mod: mod, arg: arg, opts: opts] do
DynamicSupervisor.Proxy.Agent.start_link(mod, arg, opts)
end
end
end