10个稳定版本
使用旧的Rust 2015
1.2.1 | 2020年4月1日 |
---|---|
1.1.0 | 2019年10月26日 |
1.0.6 | 2018年11月7日 |
1.0.5 | 2018年8月24日 |
1.0.2 | 2017年3月4日 |
#259 在 日期和时间
963 每月下载量
在 5 crates 中使用
12KB
109 行
JobScheduler
一个简单的类似cron的任务调度库,用于Rust。
用法
请参阅 文档 获取更多详细信息。
确保将 job_scheduler crate 添加到您的 Cargo.toml
[dependencies]
job_scheduler = "*"
使用 cron 库中 Schedule
类型的 FromStr
实现,创建任务的调度。
调度格式如下
sec min hour day of month month day of week year
* * * * * * *
时间指定为 UTC
而不是您的本地时区。请注意,年份可以省略。
逗号分隔的值,例如 5,8,10
代表多个时间值。因此,例如,一个调度为 0 2,14,26 * * * *
将在每个小时的第2分钟、第14分钟和第26分钟执行。
可以使用破折号指定范围。一个调度为 0 0 * 5-10 * *
将每小时执行一次,但仅在每月的5日至10日执行。
可以指定星期的缩写或完整名称。一个调度为 0 0 6 * * Sun,Sat
将在星期日和星期六的早上6点执行。
简单用法示例
extern crate job_scheduler;
use job_scheduler::{JobScheduler, Job};
use std::time::Duration;
fn main() {
let mut sched = JobScheduler::new();
sched.add(Job::new("1/10 * * * * *".parse().unwrap(), || {
println!("I get executed every 10 seconds!");
}));
loop {
sched.tick();
std::thread::sleep(Duration::from_millis(500));
}
}
类似库
- cron 我们使用的cron表达式解析器。
- schedule-rs 是一个类似的rust库,它实现了自己的cron表达式解析器。
许可
JobScheduler采用以下许可之一:
- Apache许可证版本2.0,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
贡献
除非您明确表示,否则您有意提交的任何贡献,根据Apache-2.0许可证定义,均应按照上述方式双授权,不附加任何额外条款或条件。
请参阅CONTRIBUTING 文件以获取更多信息。
依赖
~4.5-6MB
~109K SLoC