[package] name = "tokio-cron-scheduler" version = "0.15.1" authors = ["Michael van Niekerk "] edition = "2024" 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"] } croner = "3.0.0" chrono = { version = "0.4", default-features = false } english-to-cron = { version = "0.1", optional = true } uuid = { version = "1", features = ["v4"] } prost = { version = "0.14", optional = true } tracing = "0.1" tracing-subscriber = { version = "0.3", optional = true } bytes = { version = "1", optional = true } chrono-tz = { version = "0.10" } num-traits = "0.2" num-derive = "0.4" [dependencies.async-nats] version = "0.43" features = [] 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.14.1", optional = true } [features] signal = ["tokio/signal"] has_bytes = ["prost-build", "prost"] nats_storage = ["async-nats", "bytes", "has_bytes"] english = ["english-to-cron"] postgres_storage = ["tokio-postgres", "has_bytes"] postgres_native_tls = ["postgres_storage", "postgres-native-tls"] postgres_openssl = ["postgres_storage", "postgres-openssl"] log = ["tracing/log", "tracing/log-always"] 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"]