Expand description
mocra-dag: a general-purpose distributed DAG execution engine (extracted from the main mocra crate, with zero crawler coupling).
Dag/DagChainBuilder: graph construction (nodes + dependency edges, topological validation, cycle detection).DagScheduler: layered concurrent execution, retry policies, and a distributed run guard protected by fencing.- Node dispatch is injected through the
DagNodeDispatcherabstraction (with a built-inLocalNodeDispatcher; the host can supply its own). - Runtime dependencies are injected through traits (
DagStore/DagEventSink/DagFencingStore); the host implements them with the embedded cluster KV / distributed pub-sub, so this crate does not depend back on the host.
Re-exports§
pub use store::DagEventSink;pub use store::DagStore;pub use types::DagError;pub use types::DagErrorClass;pub use types::DagErrorCode;pub use types::DagFencingStore;pub use types::DagNodeDispatcher;pub use types::DagNodeExecutionPolicy;pub use types::DagNodeRecord;pub use types::DagNodeRetryMode;pub use types::DagNodeStatus;pub use types::DagNodeSyncState;pub use types::DagNodeTrait;pub use types::DagRunGuard;pub use types::DagRunGuardAcquireOutcome;pub use types::DagRunResumeState;pub use types::DagRunStateStore;pub use types::LocalNodeDispatcher;pub use types::NodeExecutionContext;pub use types::NodePlacement;pub use types::TaskPayload;
Modules§
- store
- Abstract traits for dag’s runtime dependencies — the host crate injects the implementations, so that mocra-dag does not depend back on the host.
- types