pub struct WorkflowRegistry { /* private fields */ }Expand description
Registry of all workflows, supporting multiple versions per workflow name.
Implementations§
Source§impl WorkflowRegistry
impl WorkflowRegistry
Sourcepub fn register<W: ForgeWorkflow>(&mut self)
pub fn register<W: ForgeWorkflow>(&mut self)
Register a workflow handler.
Sourcepub fn get_active(&self, name: &str) -> Option<&WorkflowEntry>
pub fn get_active(&self, name: &str) -> Option<&WorkflowEntry>
Get the active version entry for a workflow by name. Used when starting new runs.
Sourcepub fn get_version(&self, name: &str, version: &str) -> Option<&WorkflowEntry>
pub fn get_version(&self, name: &str, version: &str) -> Option<&WorkflowEntry>
Get a specific workflow version. Used when resuming runs pinned to a specific version.
Sourcepub fn get(&self, name: &str) -> Option<&WorkflowEntry>
pub fn get(&self, name: &str) -> Option<&WorkflowEntry>
Get a workflow entry by name (returns the active version). Backward-compatible with code that only knows the workflow name.
Sourcepub fn has_version_with_signature(
&self,
name: &str,
version: &str,
signature: &str,
) -> bool
pub fn has_version_with_signature( &self, name: &str, version: &str, signature: &str, ) -> bool
Check if a specific version+signature combination is available.
Sourcepub fn validate_resume(
&self,
name: &str,
version: &str,
signature: &str,
) -> Result<&WorkflowEntry, ResumeBlockReason>
pub fn validate_resume( &self, name: &str, version: &str, signature: &str, ) -> Result<&WorkflowEntry, ResumeBlockReason>
Validate that a run can be safely resumed. Returns the matching entry, or a blocking reason.
Sourcepub fn list(&self) -> impl Iterator<Item = &WorkflowEntry>
pub fn list(&self) -> impl Iterator<Item = &WorkflowEntry>
List all registered workflow entries.
Sourcepub fn definitions(&self) -> Vec<&WorkflowInfo>
pub fn definitions(&self) -> Vec<&WorkflowInfo>
Get all registered definitions for startup persistence.
Trait Implementations§
Source§impl Clone for WorkflowRegistry
impl Clone for WorkflowRegistry
Source§impl Default for WorkflowRegistry
impl Default for WorkflowRegistry
Source§fn default() -> WorkflowRegistry
fn default() -> WorkflowRegistry
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for WorkflowRegistry
impl !RefUnwindSafe for WorkflowRegistry
impl Send for WorkflowRegistry
impl Sync for WorkflowRegistry
impl Unpin for WorkflowRegistry
impl UnsafeUnpin for WorkflowRegistry
impl !UnwindSafe for WorkflowRegistry
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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>
Converts
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>
Converts
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