pub struct SupervisorBuilder<'a> { /* private fields */ }Expand description
Builds a Supervisor with configurable runtime loops.
Worker, scheduler, and reaper loops are enabled by default. Call
Self::with_registry or Self::with_catalog before Self::build when
worker or reaper loops remain enabled.
Implementations§
Source§impl<'a> SupervisorBuilder<'a>
impl<'a> SupervisorBuilder<'a>
Sourcepub fn with_registry(self, registry: JobRegistry) -> Self
pub fn with_registry(self, registry: JobRegistry) -> Self
Registers the handlers used by worker execution and reaper terminal hooks.
A registry is required when worker or reaper loops are enabled. Scheduler-only supervisors can be built without one.
Sourcepub fn with_catalog(self, catalog: impl Borrow<JobCatalog>) -> Self
pub fn with_catalog(self, catalog: impl Borrow<JobCatalog>) -> Self
Registers handlers from a JobCatalog.
This does not sync database job definitions. Call
JobCatalog::sync_definitions before starting the supervisor or
creating schedules. Pass &catalog when the caller will continue using
the catalog for schedule, enqueue, or workflow helpers after building the
supervisor.
§Registry Source
Calling this and Self::with_registry on the same builder is rejected
by Self::build. Choose one registration source per builder.
Sourcepub fn disable_worker(self) -> Self
pub fn disable_worker(self) -> Self
Disables worker job claiming and execution for this supervisor.
Sourcepub fn disable_scheduler(self) -> Self
pub fn disable_scheduler(self) -> Self
Disables cron schedule materialization for this supervisor.
Sourcepub fn disable_reaper(self) -> Self
pub fn disable_reaper(self) -> Self
Disables expired-lease reaping for this supervisor.
Sourcepub fn build(self) -> Result<Supervisor, RuntimeError>
pub fn build(self) -> Result<Supervisor, RuntimeError>
Starts the enabled runtime loops and returns the owning supervisor.
Returns an error when worker or reaper loops are enabled without a job registry.
Auto Trait Implementations§
impl<'a> Freeze for SupervisorBuilder<'a>
impl<'a> !RefUnwindSafe for SupervisorBuilder<'a>
impl<'a> Send for SupervisorBuilder<'a>
impl<'a> Sync for SupervisorBuilder<'a>
impl<'a> Unpin for SupervisorBuilder<'a>
impl<'a> UnsafeUnpin for SupervisorBuilder<'a>
impl<'a> !UnwindSafe for SupervisorBuilder<'a>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more