tokio-cron-scheduler 0.7.6

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.
Documentation
[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"]