[package]
name = "tokio-cron-scheduler"
version = "0.7.6"
authors = ["Michael van Niekerk <mike@agri-io.co.za>"]
edition = "2018"
documentation = "https://docs.rs/tokio_cron_scheduler/"
repository = "https://github.com/mvniekerk/tokio-cron-scheduler"
description = "Schedule tasks on tokio using cron-like annotation, at an instant or repeat them at a fixed duration. Tasks can optionally be persisted using PostgreSQL or Nats."
license = "MIT/Apache-2.0"
readme = "README.md"
keywords = ["cron", "scheduler", "tokio", "nats", "postgres"]
categories = ["date-and-time"]
[dependencies]
tokio = { version = "1", features = ["time", "rt", "sync"] }
cron = "0.10.0"
chrono = "0.4"
time = "0.1.44"
uuid = { version = "1", features = ["v4"] }
prost = { version = "0.10", optional = true }
tracing = "0.1.32"
tracing-subscriber = { version = "0.3.10", optional = true }
num-traits = "0.2"
num-derive = "0.3"
[dependencies.nats]
version = "0.18.1"
features = ["unstable"]
optional = true
[dependencies.postgres-openssl]
version = "0.5.0"
optional = true
[dependencies.postgres-native-tls]
version = "0.5.0"
optional = true
[dependencies.tokio-postgres]
version = "0.7"
optional = true
features = ["with-uuid-1"]
[dev-dependencies]
anyhow = "1.0"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
[build-dependencies]
prost-build = { version = "0.10", optional = true }
[features]
signal = ["tokio/signal"]
has_bytes = [ "prost-build", "prost" ]
nats_storage = ["nats", "has_bytes" ]
postgres_storage = ["tokio-postgres", "has_bytes" ]
postgres_native_tls = ["postgres_storage", "postgres-native-tls" ]
postgres_openssl = ["postgres_storage", "postgres-openssl" ]
default = []
[[example]]
name = "simple"
path = "examples/simple_job.rs"
required-features = ["tracing-subscriber"]
[[example]]
name = "simple-tokio-in-a-thread"
path = "examples/simple_job_tokio_in_a_thread.rs"
required-features = ["tracing-subscriber"]
[[example]]
name = "nats"
path = "examples/nats_job.rs"
required-features = ["nats_storage", "tracing-subscriber"]
[[example]]
name = "postgres"
path = "examples/postgres_job.rs"
required-features = ["postgres_storage", "tracing-subscriber"]