Files
2026-08-01 16:11:49 +03:00

90 lines
2.4 KiB
TOML

[package]
name = "tokio-cron-scheduler"
version = "0.15.1"
authors = ["Michael van Niekerk <mike@agri-io.co.za>"]
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"]