[package]
edition = "2021"
name = "broccoli_queue"
version = "0.4.6"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Broccoli is a simple, fast, and reliable job queue for Rust."
readme = "README.md"
license = "MIT"
repository = "https://github.com/densumesh/broccoli"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
default = ["redis"]
management = ["dep:derive_more"]
rabbitmq = [
"dep:lapin",
"dep:deadpool",
"dep:deadpool-lapin",
]
redis = [
"dep:bb8-redis",
"dep:redis",
]
surrealdb = [
"dep:surrealdb",
"dep:url",
]
test-fairness = []
[lib]
name = "broccoli_queue"
path = "src/lib.rs"
[[example]]
name = "consumer"
path = "examples/consumer.rs"
[[example]]
name = "publisher"
path = "examples/publisher.rs"
[[test]]
name = "edge_cases"
path = "tests/edge_cases.rs"
[[test]]
name = "fairness"
path = "tests/fairness.rs"
[[test]]
name = "happy_path"
path = "tests/happy_path.rs"
[[test]]
name = "management"
path = "tests/management.rs"
[[bench]]
name = "amqp_benchmark"
path = "benches/amqp_benchmark.rs"
harness = false
[[bench]]
name = "redis_benchmark"
path = "benches/redis_benchmark.rs"
harness = false
[[bench]]
name = "surrealdb_benchmark"
path = "benches/surrealdb_benchmark.rs"
harness = false
[dependencies.async-trait]
version = "0.1.83"
[dependencies.bb8-redis]
version = "0.18.0"
optional = true
[dependencies.chrono]
version = "0.4.41"
features = ["serde"]
[dependencies.dashmap]
version = "6.1.0"
[dependencies.deadpool]
version = "0.12.1"
optional = true
[dependencies.deadpool-lapin]
version = "0.12.1"
optional = true
[dependencies.derive_more]
version = "2.0.1"
features = ["display"]
optional = true
[dependencies.futures]
version = "0.3.31"
[dependencies.lapin]
version = "2.5.0"
optional = true
[dependencies.log]
version = "0.4.22"
[dependencies.redis]
version = "0.27.5"
features = [
"tokio-rustls-comp",
"aio",
]
optional = true
[dependencies.serde]
version = "1.0.216"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.133"
[dependencies.sha256]
version = "1.5.0"
[dependencies.surrealdb]
version = "2.3.6"
features = ["kv-mem"]
optional = true
[dependencies.thiserror]
version = "2.0.7"
[dependencies.time]
version = "0.3.37"
[dependencies.tokio]
version = "1.42.0"
features = ["full"]
[dependencies.url]
version = "2.5.4"
optional = true
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dev-dependencies.criterion]
version = "0.5"
features = ["async_tokio"]
[dev-dependencies.env_logger]
version = "0.11.5"
[dev-dependencies.lazy_static]
version = "1.5.0"
[dev-dependencies.tokio-util]
version = "0.7.15"