Expand description
Async graph execution mode using tokio tasks for I/O-bound source/sink nodes.
This module provides an async executor that dispatches each graph node as an independent tokio task. I/O-bound source and sink nodes benefit the most because they can yield the thread while waiting for data, allowing other nodes to make progress concurrently.
§Design
The AsyncExecutor maps an ExecutionPlan onto tokio tasks:
- Each stage becomes a
tokio::task::JoinSetthat runs all nodes in the stage concurrently. - Stages are still sequentially ordered, so data-flow dependencies are respected.
- An optional timeout per stage prevents I/O-bound nodes from stalling the whole graph.
Structs§
- Async
Executor - Async graph executor using tokio tasks.
- Async
Executor Config - Configuration for the async graph executor.