qrush 2.0.3

Lightweight Job Queue and Task Scheduler for Rust (Actix + Redis + Cron)
Documentation
[package]
name = "qrush"
version = "2.0.3"
edition = "2021"
authors = ["SNM Maurya <snmmaurya@gmail.com>"]
description = "Lightweight Job Queue and Task Scheduler for Rust (Actix + Redis + Cron)"
license = "MIT"
repository = "https://github.com/srotas-space/qrush"
documentation = "https://docs.rs/qrush"
readme = "README.md"
keywords = ["actix", "redis", "job-queue", "background-jobs", "cron",]
categories = ["asynchronous", "web-programming", "concurrency"]
homepage = "https://github.com/srotas-space/qrush"


[[bin]]
name = "qrush"
path = "src/bin/qrush.rs"

[[bin]]
name = "qrush-engine"
path = "src/bin/qrush_engine.rs"

# Dashboard examples — one per supported framework.
[[example]]
name = "actix_dashboard"
required-features = ["dashboard-actix"]

[[example]]
name = "axum_dashboard"
required-features = ["dashboard-axum"]

[features]
# The built-in dashboard is optional and framework-selectable. Library-only
# users who just want enqueue + workers get that by default (no web stack).
# Choose `dashboard-actix` or `dashboard-axum` to also mount the metrics UI.
default = []

# Internal: the shared, framework-neutral dashboard stack (Tera templates, CSV
# export, base64/subtle for basic auth). Enabled automatically by either
# framework feature below; not meant to be enabled on its own.
_dashboard-core = ["dep:tera", "dep:base64", "dep:subtle", "dep:csv"]

# Built-in dashboard served with Actix Web (`qrush::routes::metrics_route`).
dashboard-actix = ["_dashboard-core", "dep:actix-web"]

# Built-in dashboard served with Axum (`qrush::routes::axum_route`).
dashboard-axum = ["_dashboard-core", "dep:axum"]

# Back-compat alias: `dashboard` historically meant the Actix dashboard.
dashboard = ["dashboard-actix"]

[dependencies]
# Dashboard (optional, enabled by a `dashboard-*` feature)
actix-web = { version = "4.0", optional = true }
axum = { version = "0.8", optional = true }
tera = { version = "1.19", optional = true }
base64 = { version = "0.22.1", optional = true }
subtle = { version = "2.6", optional = true }
csv = { version = "1.3.1", optional = true }

# cluster support for redis
redis = { version = "0.30.0", features = ["tokio-native-tls-comp", "cluster", "connection-manager"] }
tokio = { version = "1", features = ["full"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
anyhow = "1"
thiserror = "2"
async-trait = "0.1.88"
once_cell = "1.18"
futures = "0.3"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
chrono = "0.4.41"
chrono-tz = "0.10.4"
lazy_static = "1.4"
nanoid = "0.4"


# CLI Dependencies
clap = { version = "4.0", features = ["derive", "env"] }
colored = "2.0"
gethostname = "0.4"
futures-util = "0.3.31"
dotenvy = "0.15"

[lib]
path = "src/lib.rs"

[dev-dependencies]
# For driving the Axum router in integration tests via `oneshot`.
tower = { version = "0.5", features = ["util"] }