1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
//! A cron expression parser and schedule explorer //! # Example //! ``` //! extern crate chrono; //! extern crate scron; //! //! use scron::Schedule; //! use chrono::Utc; //! use std::str::FromStr; //! //! fn main() { //! // sec min hour day of month month day of week year //! let expression = "0 30 9,12,15 1,15 May-Aug Mon,Wed,Fri 2018/2"; //! let schedule = Schedule::from_str(expression).unwrap(); //! println!("Upcoming fire times:"); //! for datetime in schedule.upcoming(Utc).take(10) { //! println!("-> {}", datetime); //! } //! } //! //! /* //! Upcoming fire times: //! -> 2018-06-01 09:30:00 UTC //! -> 2018-06-01 12:30:00 UTC //! -> 2018-06-01 15:30:00 UTC //! -> 2018-06-15 09:30:00 UTC //! -> 2018-06-15 12:30:00 UTC //! -> 2018-06-15 15:30:00 UTC //! -> 2018-08-01 09:30:00 UTC //! -> 2018-08-01 12:30:00 UTC //! -> 2018-08-01 15:30:00 UTC //! -> 2018-08-15 09:30:00 UTC //! */ //! ``` extern crate chrono; extern crate nom; #[macro_use] extern crate error_chain; mod time_unit; mod schedule; mod task; pub mod error; pub use schedule::Schedule; pub use time_unit::TimeUnitField; pub use task::Task; pub use task::Tasks;