# schedule-rs > An in-process scheduler for periodic jobs. Schedule lets you run Rust functions on a cron-like schedule. ## Install ```toml [dependencies] schedule = "0.1" ``` ## Usage ```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)); } } ``` ## 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.