An in-process scheduler for periodic jobs. Schedule lets you run Rust functions on a cron-like schedule.
toml
[dependencies]
schedule = "0.1"
```rust extern crate schedule; extern crate chrono;
use schedule::{Agenda, Job}; use chrono::UTC;
fn main() { let mut a = Agenda::new();
// Run every second
a.add(Job::new(|| {
println!("at second :: {}", UTC::now());
}, "* * * * * *".parse().unwrap()));
// Run every minute
a.add(Job::new(|| {
println!("at minute :: {}", UTC::now());
}, "* * * * *".parse().unwrap()));
// Run every hour
a.add(Job::new(|| {
println!("at hour :: {}", UTC::now());
}, "0 * * * *".parse().unwrap()));
// Check and run pending jobs in agenda every 500 milliseconds
loop {
a.run_pending();
std::thread::sleep(std::time::Duration::from_millis(500));
}
} ```
config-rs is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).
See LICENSE-APACHE and LICENSE-MIT for details.