[package] name = "distributed-scheduler" description = "A distributed cronjob library" keywords = ["distributed", "scheduler", "cronjob", "consistent-hashing"] version = "2.1.4" edition = "2021" repository = "https://github.com/AH-dark/distributed-scheduler.git" homepage = "https://github.com/AH-dark/distributed-scheduler" authors = ["AH-dark "] readme = "README.md" license = "AGPL-3.0-or-later" documentation = "https://docs.rs/distributed-scheduler" rust-version = "1.71.0" exclude = [".github", ".idea"] [package.metadata.docs.rs] features = ["driver-redis", "driver-etcd"] [features] full = ["driver-redis", "driver-etcd"] driver-redis = ["dep:redis", "redis/tokio-comp"] driver-etcd = ["dep:etcd-client"] [lib] name = "distributed_scheduler" path = "src/lib.rs" [[example]] name = "redis" path = "examples/redis.rs" required-features = ["driver-redis"] [[example]] name = "redis_zset" path = "examples/redis_zset.rs" required-features = ["driver-redis"] [[example]] name = "etcd" path = "examples/etcd.rs" required-features = ["driver-etcd"] [dependencies] async-trait = "0.1" chrono = "0.4" thiserror = "1.0" hashring = "0.3.6" job_scheduler = "1.2.1" log = "0.4" md5 = "0.7.0" tokio = { version = "1", features = ["macros", "rt-multi-thread", "time", "sync"] } uuid = { version = "1", features = ["v4"] } etcd-client = { version = "0.14", optional = true } redis = { version = "0.27.2", optional = true, features = ["tokio-comp"] } [dev-dependencies] pretty_env_logger = "0.5" redis-test = { version = "0.6.0", features = ["aio"] }