turnkeeper 1.0.0

An asynchronous, recurring job scheduler for Tokio with cron-like (weekday/time) scheduling, retries, observability and flexible backends.
Documentation
[dependencies.async-channel]
version = "^2"

[dependencies.chrono]
features = ["serde"]
version = "0.4"

[dependencies.futures]
version = "0.3"

[dependencies.priority-queue]
version = "^2"

[dependencies.serde]
features = ["derive"]
optional = true
version = "1.0"

[dependencies.thiserror]
version = "^2"

[dependencies.tokio]
features = ["full"]
version = "^1"

[dependencies.tracing]
version = "^0.1"

[dependencies.tracing-subscriber]
features = ["env-filter"]
optional = true
version = "^0.3"

[dependencies.uuid]
features = ["v4", "serde"]
version = "^1"

[dev-dependencies.anyhow]
version = "^1.0"

[dev-dependencies.tokio]
features = ["macros", "rt-multi-thread", "time"]
version = "^1"

[dev-dependencies.tracing-subscriber]
features = ["env-filter"]
version = "^0.3"

[[example]]
name = "one_time"
path = "examples/one_time.rs"

[[example]]
name = "simple_schedule"
path = "examples/simple_schedule.rs"

[[example]]
name = "weekday_schedule"
path = "examples/weekday_schedule.rs"

[features]
default = []
serde = ["dep:serde", "chrono/serde", "uuid/serde"]

[lib]
name = "turnkeeper"
path = "src/lib.rs"

[package]
authors = ["Excerion Sun <dev@excsn.com>", "Norm O <normo.pub@gmail.com>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["asynchronous", "concurrency", "date-and-time", "network-programming", "web-programming"]
description = "An asynchronous, recurring job scheduler for Tokio with cron-like (weekday/time) scheduling, retries, observability and flexible backends."
edition = "2021"
homepage = "https://github.com/excsn/turnkeeper"
keywords = ["scheduler", "job", "cron", "recurring", "task"]
license = "MPL-2.0"
name = "turnkeeper"
readme = "README.md"
repository = "https://github.com/excsn/turnkeeper"
version = "1.0.0"

[[test]]
name = "basic"
path = "tests/basic.rs"

[[test]]
name = "cancel"
path = "tests/cancel.rs"

[[test]]
name = "common"
path = "tests/common.rs"

[[test]]
name = "concurrency"
path = "tests/concurrency.rs"

[[test]]
name = "retry_panic"
path = "tests/retry_panic.rs"

[[test]]
name = "shutdown"
path = "tests/shutdown.rs"