docs.rs failed to build taski-0.0.7
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build:
taski-0.0.5
taski
taski is a small library for building and executing async task DAGs.
You describe your workflow as a directed acyclic graph (DAG) of tasks where:
- Each node is an async task (or an async closure).
- Edges describe typed dependencies (outputs of dependencies become inputs).
- An executor runs ready tasks concurrently.
- A policy decides which ready task to start next and how much concurrency you want.
Under the hood the graph is backed by petgraph (StableDiGraph + NodeIndex), which provides a solid, well-tested foundation.
Quickstart
This is the smallest “real” example: create a schedule, add some inputs, add a task that depends on them, run the executor, then read the output.
use ;
;
async
You can also use Schedule::add_closure(...) to attach async closures or async fn directly (see examples/comparison).
What you get
- Typed dependencies. Dependencies are expressed as tuples of previous nodes (e.g.
(a, b)), and their outputs become the task input. - Async-first execution. Tasks are
asyncand executed usingfutures::stream::FuturesUnordered. - Pluggable scheduling policy. Implement
taski::Policy<L>to decide what to run next (FIFO, priority-by-metadata, custom constraints). - Configurable concurrency. Built-in policies support a
max_concurrentlimit. - Tracing (and optional rendering). The executor records a
Trace(start/end times) and can be rendered to SVG with therenderfeature.