[dependencies.aes-gcm]
optional = true
version = "0.10"
[dependencies.argon2]
optional = true
version = "0.5"
[dependencies.async-trait]
version = "0.1"
[dependencies.base64]
version = "0.22"
[dependencies.chacha20poly1305]
optional = true
version = "0.10"
[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.flate2]
version = "1.0"
[dependencies.hex]
optional = true
version = "0.4"
[dependencies.hmac]
optional = true
version = "0.12"
[dependencies.opentelemetry]
optional = true
version = "0.22"
[dependencies.opentelemetry-otlp]
features = ["tokio"]
optional = true
version = "0.15"
[dependencies.opentelemetry_sdk]
features = ["rt-tokio"]
optional = true
version = "0.22"
[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.sha2]
optional = true
version = "0.10"
[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.toml]
version = "0.8"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-opentelemetry]
optional = true
version = "0.23"
[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.sqlx]
features = ["runtime-tokio-rustls", "chrono", "uuid", "json", "postgres", "mysql"]
version = "0.8"
[dev-dependencies.tempfile]
version = "3.8"
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.tracing-subscriber]
features = ["env-filter"]
version = "0.3"
[[example]]
name = "autoscaling_example"
path = "examples/autoscaling_example.rs"
required-features = ["postgres"]
[[example]]
name = "batch_example"
path = "examples/batch_example.rs"
required-features = ["postgres"]
[[example]]
name = "cron_example"
path = "examples/cron_example.rs"
required-features = ["postgres"]
[[example]]
name = "encryption_example"
path = "examples/encryption_example.rs"
required-features = ["encryption"]
[[example]]
name = "key_management_example"
path = "examples/key_management_example.rs"
[[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"
required-features = ["postgres"]
[[example]]
name = "retry_strategies"
path = "examples/retry_strategies.rs"
required-features = ["postgres"]
[[example]]
name = "spawn_cli_example"
path = "examples/spawn_cli_example.rs"
[[example]]
name = "spawn_example"
path = "examples/spawn_example.rs"
[[example]]
name = "test_queue_example"
path = "examples/test_queue_example.rs"
required-features = ["test"]
[[example]]
name = "worker_batch_example"
path = "examples/worker_batch_example.rs"
required-features = ["postgres"]
[features]
alerting = ["reqwest"]
default = ["metrics", "alerting", "webhooks"]
encryption = ["aes-gcm", "chacha20poly1305", "argon2", "hmac", "sha2", "hex"]
metrics = ["prometheus", "warp"]
mysql = ["sqlx/mysql"]
postgres = ["sqlx/postgres"]
test = []
tracing = ["opentelemetry", "opentelemetry_sdk", "opentelemetry-otlp", "tracing-opentelemetry"]
webhooks = ["reqwest", "hmac", "sha2", "hex"]
[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, event streaming (Kafka/Kinesis/PubSub), webhooks, rate limiting, Prometheus metrics, and comprehensive monitoring"
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 = "1.7.2"
[[test]]
name = "archive_tests"
path = "tests/archive_tests.rs"
[[test]]
name = "batch_tests"
path = "tests/batch_tests.rs"
[[test]]
name = "comprehensive_archive_tests"
path = "tests/comprehensive_archive_tests.rs"
[[test]]
name = "cron_test"
path = "tests/cron_test.rs"
[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"
[[test]]
name = "jobarchiver_pool_tests"
path = "tests/jobarchiver_pool_tests.rs"
[[test]]
name = "jobrow_query_tests"
path = "tests/jobrow_query_tests.rs"
[[test]]
name = "priority_tests"
path = "tests/priority_tests.rs"
[[test]]
name = "result_config_test"
path = "tests/result_config_test.rs"
[[test]]
name = "result_storage_debug"
path = "tests/result_storage_debug.rs"
[[test]]
name = "result_storage_tests"
path = "tests/result_storage_tests.rs"
[[test]]
name = "test_queue_tests"
path = "tests/test_queue_tests.rs"
[[test]]
name = "test_utils"
path = "tests/test_utils.rs"
[[test]]
name = "worker_batch_tests"
path = "tests/worker_batch_tests.rs"