pub struct DagScheduler<Q: JobQueue, A: ArtifactStore> { /* private fields */ }Expand description
Event-driven DAG scheduler.
Listens for JobEvents from the queue and enqueues downstream jobs
when their dependencies are satisfied. Replaces the inline orchestrator.
Implementations§
Source§impl<Q: JobQueue, A: ArtifactStore> DagScheduler<Q, A>
impl<Q: JobQueue, A: ArtifactStore> DagScheduler<Q, A>
pub fn new(queue: Arc<Q>, artifacts: Arc<A>, state: SharedState) -> Self
Sourcepub async fn start_workflow(
&self,
workflow_id: &str,
) -> Result<(), SchedulerError>
pub async fn start_workflow( &self, workflow_id: &str, ) -> Result<(), SchedulerError>
Initiate a workflow run: reset all jobs to Queued, then enqueue root jobs.
Sourcepub async fn cancel_workflow(
&self,
workflow_id: &str,
) -> Result<(), SchedulerError>
pub async fn cancel_workflow( &self, workflow_id: &str, ) -> Result<(), SchedulerError>
Cancel a running workflow: cancel all pending/active jobs.
Auto Trait Implementations§
impl<Q, A> Freeze for DagScheduler<Q, A>
impl<Q, A> !RefUnwindSafe for DagScheduler<Q, A>
impl<Q, A> Send for DagScheduler<Q, A>
impl<Q, A> Sync for DagScheduler<Q, A>
impl<Q, A> Unpin for DagScheduler<Q, A>
impl<Q, A> UnsafeUnpin for DagScheduler<Q, A>
impl<Q, A> !UnwindSafe for DagScheduler<Q, A>
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