[package]
name = "qrush"
version = "1.0.1"
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"

[features]
# The built-in Actix dashboard is optional. Library-only users who just want
# enqueue + workers can disable it with `default-features = false` and avoid
# pulling in Actix, Tera, and the rest of the web stack.
default = ["dashboard"]
dashboard = ["dep:actix-web", "dep:tera", "dep:base64", "dep:subtle", "dep:csv"]

[dependencies]
# Dashboard (optional, enabled by the `dashboard` feature)
actix-web = { version = "4.0", 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"
