pub struct ConcurrencyConflict { /* private fields */ }Expand description
A sub-workflow skipped because its concurrency key is held by another active run.
Persisted as the step output {"concurrency_conflict": {"key": .., "run_id": ..}}
and replayed as-is on resume.
§Examples
use ironflow_engine::executor::ConcurrencyConflict;
use uuid::Uuid;
let holder = Uuid::now_v7();
let conflict = ConcurrencyConflict::new("issue:12", holder);
assert_eq!(conflict.key(), "issue:12");
assert_eq!(conflict.run_id(), holder);
assert!(conflict.to_string().contains("issue:12"));Implementations§
Source§impl ConcurrencyConflict
impl ConcurrencyConflict
Sourcepub fn new(key: impl Into<String>, run_id: Uuid) -> Self
pub fn new(key: impl Into<String>, run_id: Uuid) -> Self
Record that run_id holds key.
§Examples
use ironflow_engine::executor::ConcurrencyConflict;
use uuid::Uuid;
let conflict = ConcurrencyConflict::new("deploy:prod", Uuid::nil());
assert_eq!(conflict.key(), "deploy:prod");Trait Implementations§
Source§impl Clone for ConcurrencyConflict
impl Clone for ConcurrencyConflict
Source§impl Debug for ConcurrencyConflict
impl Debug for ConcurrencyConflict
Source§impl<'de> Deserialize<'de> for ConcurrencyConflict
impl<'de> Deserialize<'de> for ConcurrencyConflict
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 Display for ConcurrencyConflict
impl Display for ConcurrencyConflict
Source§impl PartialEq for ConcurrencyConflict
impl PartialEq for ConcurrencyConflict
Source§impl Serialize for ConcurrencyConflict
impl Serialize for ConcurrencyConflict
impl StructuralPartialEq for ConcurrencyConflict
Auto Trait Implementations§
impl Freeze for ConcurrencyConflict
impl RefUnwindSafe for ConcurrencyConflict
impl Send for ConcurrencyConflict
impl Sync for ConcurrencyConflict
impl Unpin for ConcurrencyConflict
impl UnsafeUnpin for ConcurrencyConflict
impl UnwindSafe for ConcurrencyConflict
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