Expand description
A cron expression parser and schedule explorer.
In addition to the regular expressions, you can also use the following shortcut expressions with Schedule::from_str,
such as @yearly
@monthly
@weekly
@daily
@hourly
@minutely
@secondly
,
make cron- Expression Iterator.
§Tips
If you need a periodicized task manager, you may need delay-timer
(Time-manager of delayed tasks. Like crontab, but synchronous [asynchronous
] tasks are possible, and dynamic add/cancel/remove is supported) .
§Example
use cron_clock::Schedule;
use chrono::Utc;
use std::str::FromStr;
// 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
*/
§Example shortcut expressions
& ScheduleIteratorOwned
extern crate chrono;
extern crate cron_clock;
use cron_clock::Schedule;
use chrono::Utc;
use std::str::FromStr;
fn main() {
// shortcut expressions
let expression = "@hourly";
let schedule = Schedule::from_str(expression).unwrap();
println!("Upcoming fire times:");
// `upcoming_owned` Get iterators with ownership, so you don't have lifetime to worry about.
for datetime in schedule.upcoming_owned(Utc).take(10) {
println!("-> {}", datetime);
}
}
Modules§
Structs§
- Fixed
Offset - The time zone with fixed offset, from UTC-23:59:59 to UTC+23:59:59.
- Local
- The local timescale.
- Schedule
- Metadata for cron-expression parsing.
- Schedule
Iterator - Schedule-DateTime iterator for cron-expressions.
- Schedule
Iterator Owned - Schedule-DateTime iterator for cron-expressions(Ownership data, which does not have a lifetime, can be used anywhere).
- Utc
- The UTC time zone. This is the most efficient time zone when you don’t need the local time. It is also used as an offset (which is also a dummy type).
Traits§
- Time
Unit Spec - Methods exposing a schedule’s configured ordinals for each individual unit of time.
- Time
Zone - The time zone.