Skip to content
GitHub

Installation

Add agentq to your Cargo.toml:

[dependencies]
agentq = "0.1"
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }

agentq needs a Tokio runtime. It uses tokio::spawn internally, so a queue must be constructed from inside a runtime.

The crate itself only enables Tokio’s sync, rt, and time features, so it adds very little to your dependency tree. You bring whichever runtime flavor you need.

SqliteStore, used by durable workflows, is behind an opt-in feature so it costs nothing if you don’t use it:

[dependencies]
agentq = { version = "0.1", features = ["sqlite"] }

Without this feature, rusqlite never enters your dependency tree at all.

agentq requires Rust 1.85 or newer, because it uses edition 2024. The MSRV is verified in CI on every commit, so it is a checked claim rather than an aspiration.

use agentq::Queue;
#[tokio::main]
async fn main() {
let _queue = Queue::builder().start();
println!("agentq is wired up");
}

If that compiles and runs, you are ready for the quickstart.