multiverses v0.5.2 Multiverses.DynamicSupervisor View Source
This module is intended to be a drop-in replacement for DynamicSupervisor
.
It launches the supervised process during a slice of time in which the
universe of the DynamicSupervisor is temporarily set to the universe of
its caller. For example, if the supervised process is Multiverses.GenServer
,
with start_link
option forward_callers: true
, then the GenServer will
exist in the same universe as its caller.
Currently uses DynamicSupervisor private API, so forward compatibility is not guaranteed.
Usage
This module should only be used at the point of starting a child under the
supervisor. All other uses of DynamicSupervisor (such as use DynamicSupervisor
)
should use the native Elixir DynamicSupervisor module, and the supervisor
is fully compatible with native DynamicSupervisor processes.
Notes
currently, only start_child/2
is overloaded to provide sharded information.
count_children/1
, terminate_child/2
and which_children/1
will act on
the global information. If you need access to partitioned collections of
processes, use Multiverse.Registry
.
Link to this section Summary
Functions
cloned from DynamicSupervisor.__struct__/1
cloned from DynamicSupervisor.child_spec/1
cloned from DynamicSupervisor.count_children/1
cloned from DynamicSupervisor.format_report/1
cloned from DynamicSupervisor.handle_cast/2
cloned from DynamicSupervisor.handle_info/2
cloned from DynamicSupervisor.init/1
cloned from DynamicSupervisor.start_link/1
cloned from DynamicSupervisor.start_link/2
cloned from DynamicSupervisor.start_link/3
cloned from DynamicSupervisor.stop/1
cloned from DynamicSupervisor.stop/2
cloned from DynamicSupervisor.stop/3
cloned from DynamicSupervisor.terminate/2
cloned from DynamicSupervisor.which_children/1
Link to this section Functions
cloned from DynamicSupervisor.__struct__/0
cloned from DynamicSupervisor.__struct__/1
cloned from DynamicSupervisor.child_spec/1
cloned from DynamicSupervisor.code_change/3
cloned from DynamicSupervisor.count_children/1
cloned from DynamicSupervisor.format_report/1
cloned from DynamicSupervisor.format_status/2
cloned from DynamicSupervisor.handle_call/3
cloned from DynamicSupervisor.handle_cast/2
cloned from DynamicSupervisor.handle_info/2
cloned from DynamicSupervisor.init/1
cloned from DynamicSupervisor.start_link/1
cloned from DynamicSupervisor.start_link/2
cloned from DynamicSupervisor.start_link/3
cloned from DynamicSupervisor.stop/1
cloned from DynamicSupervisor.stop/2
cloned from DynamicSupervisor.stop/3
cloned from DynamicSupervisor.terminate/2
cloned from DynamicSupervisor.terminate_child/2
cloned from DynamicSupervisor.which_children/1