1 unstable release
Uses old Rust 2015
0.1.0 | Feb 1, 2017 |
---|
#30 in #periodic
Used in 2 crates
12KB
253 lines
schedule-rs
An in-process scheduler for periodic jobs. Schedule lets you run Rust functions on a cron-like schedule.
Install
[dependencies]
schedule = "0.1"
Usage
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));
}
}
License
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.
Dependencies
~3MB
~51K SLoC