Oban.Registry (Oban v2.10.1) View Source

Local process storage for Oban instances.

Link to this section Summary

Functions

Fetch the config for an Oban supervisor instance.

Build a via tuple suitable for calls to a supervised Oban process.

Returns the pid of a supervised Oban process, or nil if the process can't be found.

Link to this section Types

Specs

key() :: Oban.name() | {Oban.name(), role()}

Specs

role() :: term()

Specs

value() :: term()

Link to this section Functions

Specs

config(Oban.name()) :: Oban.Config.t()

Fetch the config for an Oban supervisor instance.

Example

Get the default instance config:

Oban.Registry.config(Oban)

Get config for a custom named instance:

Oban.Registry.config(MyApp.Oban)
Link to this function

via(oban_name, role \\ nil, value \\ nil)

View Source

Specs

via(Oban.name(), role(), value()) :: {:via, Registry, {Oban.Registry, key()}}

Build a via tuple suitable for calls to a supervised Oban process.

Example

For an Oban supervisor:

Oban.Registry.via(Oban)

For a supervised module:

Oban.Registry.via(Oban, Oban.Notifier)

For a plugin:

Oban.Registry.via(Oban, {:plugin, Oban.Plugins.Cron})
Link to this function

whereis(oban_name, role \\ nil)

View Source

Specs

whereis(Oban.name(), role()) :: pid() | nil

Returns the pid of a supervised Oban process, or nil if the process can't be found.

Example

Get the Oban supervisor's pid:

Oban.Registry.whereis(Oban)

Get a supervised module's pid:

Oban.Registry.whereis(Oban, Oban.Notifier)

Get the pid for a plugin:

Oban.Registry.whereis(Oban, {:plugin, MyApp.Oban.Plugin})

Get the pid for a queue's producer:

Oban.Registry.whereis(Oban, {:producer, :default})