dag-executor 0.1.0

A production-ready DAG executor with state management and advanced patterns
Documentation
//! Task abstraction and built-in task types.
//!
//! All tasks implement the [`Task`] trait. The crate ships five ready-made
//! implementations covering common workflow shapes:
//!
//! | Type | Purpose |
//! |------|---------|
//! | [`BasicTask`] | run an async closure |
//! | [`StatefulTask`] | checkpoint state to [`crate::storage::Storage`] |
//! | [`ConditionalTask`] | branch based on a predicate |
//! | [`LoopTask`] | repeat a body with a break condition |
//! | [`EventDrivenTask`] | wait for an event, then run |

mod basic;
mod conditional;
mod event_driven;
mod loop_task;
mod stateful;
// `trait` is a reserved word, so the module is a raw identifier.
#[path = "trait.rs"]
pub mod r#trait;

pub use basic::BasicTask;
pub use conditional::ConditionalTask;
pub use event_driven::EventDrivenTask;
pub use loop_task::LoopTask;
pub use r#trait::{Task, TaskOutput};
pub use stateful::{StatefulTask, StepResult};