pub struct EventTrigger { /* private fields */ }Expand description
A trigger that reacts to internal domain events.
Register this trigger with the runtime via
Runtime::trigger. It must also
be registered as an EventSubscriber on the
EventPublisher so it
receives events.
§Examples
use ironflow_runtime::trigger::event::{EventTrigger, EventTriggerRule};
use ironflow_store::entities::EventKind;
let trigger = EventTrigger::new(vec![
EventTriggerRule {
on_event: EventKind::RunFailed,
source_workflow: "deploy".to_string(),
target_workflow: "rollback".to_string(),
max_chain_depth: 3,
},
]);Implementations§
Source§impl EventTrigger
impl EventTrigger
Sourcepub fn new(rules: Vec<EventTriggerRule>) -> Self
pub fn new(rules: Vec<EventTriggerRule>) -> Self
Create a new event trigger with the given rules.
§Examples
use ironflow_runtime::trigger::event::{EventTrigger, EventTriggerRule};
use ironflow_store::entities::EventKind;
let trigger = EventTrigger::new(vec![
EventTriggerRule {
on_event: EventKind::RunFailed,
source_workflow: "deploy".to_string(),
target_workflow: "rollback".to_string(),
max_chain_depth: 3,
},
]);Sourcepub fn subscribed_event_types(&self) -> Vec<&'static str>
pub fn subscribed_event_types(&self) -> Vec<&'static str>
The event kinds this trigger listens for (for EventPublisher subscription).
§Examples
use ironflow_runtime::trigger::event::{EventTrigger, EventTriggerRule};
use ironflow_store::entities::EventKind;
let trigger = EventTrigger::new(vec![
EventTriggerRule {
on_event: EventKind::RunFailed,
source_workflow: "deploy".to_string(),
target_workflow: "rollback".to_string(),
max_chain_depth: 3,
},
]);
let kinds = trigger.subscribed_event_types();
assert!(kinds.contains(&"run_failed"));Trait Implementations§
Source§impl EventSubscriber for EventTrigger
impl EventSubscriber for EventTrigger
Source§impl Trigger for EventTrigger
impl Trigger for EventTrigger
Source§fn start<'a>(
&'a self,
sink: TriggerSink,
token: &'a CancellationToken,
) -> TriggerFuture<'a>
fn start<'a>( &'a self, sink: TriggerSink, token: &'a CancellationToken, ) -> TriggerFuture<'a>
Start the trigger. Read more
Auto Trait Implementations§
impl !Freeze for EventTrigger
impl !RefUnwindSafe for EventTrigger
impl Send for EventTrigger
impl Sync for EventTrigger
impl Unpin for EventTrigger
impl UnsafeUnpin for EventTrigger
impl UnwindSafe for EventTrigger
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