Port schedule service from Python to Rust + Rouille

- Background scheduler thread (30s interval)
- Cron expression parsing with cron crate
- File-based JSON storage (compatible with existing data)
- HTTP API: CRUD, manual run, history
- ~3MB binary vs ~50MB Python

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
egregore 2026-02-02 20:29:59 +00:00
parent 6499e17390
commit 8873c4e377
3 changed files with 1999 additions and 0 deletions

17
Cargo.toml Normal file
View file

@ -0,0 +1,17 @@
[package]
name = "schedule"
version = "0.1.0"
edition = "2021"
[dependencies]
rouille = "3.6"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
chrono = { version = "0.4", features = ["serde"] }
cron = "0.12"
ureq = { version = "2.9", features = ["json"] }
uuid = { version = "1.0", features = ["v4"] }
[profile.release]
strip = true
lto = true