[package]
name = "backfill"
version = "0.2.2"
edition = "2024"
description = "A boringly-named priority work queue system for doing async tasks."
categories = ["concurrency", "data-structures"]
authors = ["C J Silverio <ceejceej@gmail.com>"]
readme = "README.md"
license = "Parity-7.0.0"
repository = "https://github.com/ceejbot/backfill"
homepage = "https://github.com/ceejbot/backfill"
[features]
default = []
axum = ["dep:axum"]
[dependencies]
chrono = { version = "0.4", features = ["serde"] }
graphile_worker = "0.8"
graphile_worker_crontab_parser = "0.5"
log = "0.4.28"
metrics = "0.24"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
sqlx = { version = "0.8.6", features = ["runtime-tokio-rustls", "postgres", "chrono", "uuid", "json", "macros"] }
thiserror = "2.0"
tokio = { version = "1.0", features = ["full"] }
tokio-util = "0.7"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
uuid = { version = "1.0", features = ["v4", "v7", "serde"] }
axum = { version = "0.8", optional = true }
[dev-dependencies]
env_logger = "0.11"
axum = "0.8"
fastrand = "2.0"
tower-http = { version = "0.6", features = ["cors", "trace"] }
[[example]]
name = "admin_server"
required-features = ["axum"]
[lints.rust]
unsafe_code = { level = "deny", priority = 1 }
future_incompatible = { level = "deny", priority = 2 }
trivial_casts = { level = "warn", priority = 3 }
rust_2018_idioms = { level = "warn", priority = 4 }
[lints.clippy]
unwrap_used = "deny"