hammerwork 0.8.0

A high-performance, database-driven job queue for Rust with PostgreSQL and MySQL support, featuring job prioritization, cron scheduling, timeouts, rate limiting, Prometheus metrics, alerting, and comprehensive statistics collection
Documentation
[[bin]]
name = "cargo-hammerwork"
path = "src/bin/cargo-hammerwork.rs"

[dependencies.async-trait]
version = "0.1"

[dependencies.chrono]
features = ["serde"]
version = "0.4"

[dependencies.chrono-tz]
version = "0.8"

[dependencies.clap]
features = ["derive"]
version = "4.0"

[dependencies.cron]
version = "0.12"

[dependencies.prometheus]
optional = true
version = "0.13"

[dependencies.rand]
version = "0.8"

[dependencies.reqwest]
features = ["json"]
optional = true
version = "0.12"

[dependencies.serde]
features = ["derive"]
version = "1.0"

[dependencies.serde_json]
version = "1.0"

[dependencies.sqlx]
features = ["runtime-tokio-rustls", "chrono", "uuid", "json"]
version = "0.8"

[dependencies.thiserror]
version = "1.0"

[dependencies.tokio]
features = ["full"]
version = "1.0"

[dependencies.tracing]
version = "0.1"

[dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3"

[dependencies.uuid]
features = ["v4", "serde"]
version = "1.0"

[dependencies.warp]
optional = true
version = "0.3"

[dev-dependencies.tokio-test]
version = "0.4"

[dev-dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3"

[[example]]
name = "batch_example"
path = "examples/batch_example.rs"

[[example]]
name = "cron_example"
path = "examples/cron_example.rs"
required-features = ["postgres"]

[[example]]
name = "mysql_example"
path = "examples/mysql_example.rs"
required-features = ["mysql"]

[[example]]
name = "postgres_example"
path = "examples/postgres_example.rs"
required-features = ["postgres"]

[[example]]
name = "priority_example"
path = "examples/priority_example.rs"
required-features = ["postgres"]

[[example]]
name = "result_storage_example"
path = "examples/result_storage_example.rs"

[[example]]
name = "worker_batch_example"
path = "examples/worker_batch_example.rs"

[features]
alerting = ["reqwest"]
default = ["metrics", "alerting"]
metrics = ["prometheus", "warp"]
mysql = ["sqlx/mysql"]
postgres = ["sqlx/postgres"]

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

[package]
authors = ["CodingAnarchy <noreply@codinganarchy.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["database", "asynchronous", "concurrency"]
description = "A high-performance, database-driven job queue for Rust with PostgreSQL and MySQL support, featuring job prioritization, cron scheduling, timeouts, rate limiting, Prometheus metrics, alerting, and comprehensive statistics collection"
documentation = "https://docs.rs/hammerwork"
edition = "2024"
homepage = "https://github.com/CodingAnarchy/hammerwork"
keywords = ["database", "job-queue", "async", "postgres", "mysql"]
license = "MIT"
name = "hammerwork"
readme = "README.md"
repository = "https://github.com/CodingAnarchy/hammerwork"
resolver = "2"
rust-version = "1.86"
version = "0.8.0"

[[test]]
name = "batch_tests"
path = "tests/batch_tests.rs"

[[test]]
name = "cron_test"
path = "tests/cron_test.rs"

[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"

[[test]]
name = "priority_tests"
path = "tests/priority_tests.rs"

[[test]]
name = "result_storage_tests"
path = "tests/result_storage_tests.rs"

[[test]]
name = "worker_batch_tests"
path = "tests/worker_batch_tests.rs"