Gateway for the optional Oban dependency ({:oban, "~> 2.21"}).
Phase 39 does not ship an async execution runner. This module exists so later execution plans can branch on Oban availability without turning Oban into a mandatory install-time or runtime dependency for the package.
The public promise in this phase is intentionally small:
available?/0reports whether:obanis loaded in the current runtime.- callers may use
runner/0to name the future execution mode without referencingObandirectly outside this gateway.
No %Oban.Job{} contract, queue names, worker modules, or execution hooks
are part of the Phase 39 package surface.
Summary
Functions
Returns true when :oban is loaded in the current runtime.
Enqueues an internal inbound execution worker job when Oban is available.
Reports which execution seam is available for future internal runners.
Functions
@spec available?() :: boolean()
Returns true when :oban is loaded in the current runtime.
Enqueues an internal inbound execution worker job when Oban is available.
@spec runner() :: :oban | :task_supervisor
Reports which execution seam is available for future internal runners.