Jido. Exec. Supervisors
(Jido Action v2.3.0)
View Source
Resolves supervisor names based on instance configuration.
This module provides instance isolation for Jido action execution.
When a jido: option is provided, operations are routed to instance-scoped
supervisors instead of the global Jido.Action.TaskSupervisor.
Usage
By default (no jido: option), the global supervisor is used:
Jido.Exec.run(MyAction, %{}, %{})
# Uses Jido.Action.TaskSupervisorWith instance isolation:
Jido.Exec.run(MyAction, %{}, %{}, jido: MyApp.Jido)
# Uses MyApp.Jido.TaskSupervisorInstance Supervisor Naming Convention
When jido: MyApp.Jido is provided, supervisors are resolved as:
- TaskSupervisor:
MyApp.Jido.TaskSupervisor
The instance supervisors must be started as part of your application's supervision tree before use.
Summary
Functions
Returns the TaskSupervisor name to use based on options.
Returns the TaskSupervisor name without validating that it's running.
Functions
Returns the TaskSupervisor name to use based on options.
Options
:jido- Optional instance name (atom). When provided, returns the instance-scoped TaskSupervisor. When absent, returns the global supervisor.
Returns
The supervisor name as an atom.
Raises
ArgumentErrorif:jidooption is provided but the instance supervisor is not running. This prevents silent fallback to global supervisors.
Examples
iex> Jido.Exec.Supervisors.task_supervisor([])
Jido.Action.TaskSupervisor
iex> Jido.Exec.Supervisors.task_supervisor(jido: MyApp.Jido)
MyApp.Jido.TaskSupervisor # raises if not running
Returns the TaskSupervisor name without validating that it's running.
Use this when you need to resolve the supervisor name but don't want to raise if it's not running (e.g., for testing or introspection).
Examples
iex> Jido.Exec.Supervisors.task_supervisor_name([])
Jido.Action.TaskSupervisor
iex> Jido.Exec.Supervisors.task_supervisor_name(jido: MyApp.Jido)
MyApp.Jido.TaskSupervisor