pub struct WorkflowSpec {
pub name: String,
pub version: i32,
pub trigger_event: String,
pub extract: Vec<(String, Expr)>,
pub context: Vec<(String, Value)>,
pub persistence: bool,
pub timeout: Option<Dur>,
pub retry: Option<RetrySpec>,
pub steps: Vec<StepSpec>,
pub compensation: Vec<CompStep>,
}Expand description
The compiled workflow.
Fields§
§name: StringIts name (PasswordReset).
version: i32Its version, from the file.
trigger_event: StringThe event that starts an instance.
extract: Vec<(String, Expr)>Context keys filled from the start event: company_id: event.company_id.
context: Vec<(String, Value)>The context an instance starts with, before extract.
persistence: boolfalse runs the whole flow in one transaction and allows no wait.
timeout: Option<Dur>How long an instance may live; passing it while waiting ends it expired.
retry: Option<RetrySpec>The workflow-wide retry policy.
steps: Vec<StepSpec>The first step is the first of these.
compensation: Vec<CompStep>Compensation, in declaration order; it runs in reverse.
Implementations§
Trait Implementations§
Source§impl Clone for WorkflowSpec
impl Clone for WorkflowSpec
Source§impl Debug for WorkflowSpec
impl Debug for WorkflowSpec
Source§impl<'de> Deserialize<'de> for WorkflowSpec
impl<'de> Deserialize<'de> for WorkflowSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for WorkflowSpec
impl PartialEq for WorkflowSpec
Source§impl Serialize for WorkflowSpec
impl Serialize for WorkflowSpec
impl StructuralPartialEq for WorkflowSpec
Auto Trait Implementations§
impl Freeze for WorkflowSpec
impl RefUnwindSafe for WorkflowSpec
impl Send for WorkflowSpec
impl Sync for WorkflowSpec
impl Unpin for WorkflowSpec
impl UnsafeUnpin for WorkflowSpec
impl UnwindSafe for WorkflowSpec
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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