pub struct Sequence {
pub id: TemporalId,
pub label: String,
pub steps: Vec<SequenceStep>,
pub current_step: usize,
pub status: SequenceStatus,
pub started_at: Option<DateTime<Utc>>,
pub completed_at: Option<DateTime<Utc>>,
pub allow_parallel: bool,
pub created_at: DateTime<Utc>,
pub tags: Vec<String>,
}Expand description
A sequence of ordered temporal events.
Fields§
§id: TemporalIdUnique identifier.
label: StringSequence name.
steps: Vec<SequenceStep>Ordered steps.
current_step: usizeCurrent step index.
status: SequenceStatusOverall status.
started_at: Option<DateTime<Utc>>When sequence started.
completed_at: Option<DateTime<Utc>>When sequence completed.
allow_parallel: boolAllow parallel execution?
created_at: DateTime<Utc>Created at.
Tags.
Implementations§
Source§impl Sequence
impl Sequence
Sourcepub fn ready_steps(&self) -> Vec<&SequenceStep>
pub fn ready_steps(&self) -> Vec<&SequenceStep>
Get steps that are ready to execute.
Sourcepub fn dependencies_met(&self, step: &SequenceStep) -> bool
pub fn dependencies_met(&self, step: &SequenceStep) -> bool
Check if all dependencies for a step are met.
Sourcepub fn total_duration(&self) -> ChronoDuration
pub fn total_duration(&self) -> ChronoDuration
Calculate total expected duration.
Sourcepub fn complete_current_step(&mut self)
pub fn complete_current_step(&mut self)
Complete the current step and advance.
Sourcepub fn update_ready_steps(&mut self)
pub fn update_ready_steps(&mut self)
Update which steps are ready based on dependency state.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Sequence
impl<'de> Deserialize<'de> for Sequence
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
Auto Trait Implementations§
impl Freeze for Sequence
impl RefUnwindSafe for Sequence
impl Send for Sequence
impl Sync for Sequence
impl Unpin for Sequence
impl UnsafeUnpin for Sequence
impl UnwindSafe for Sequence
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