2 个版本
0.1.1 | 2019 年 5 月 9 日 |
---|---|
0.1.0 | 2019 年 5 月 9 日 |
#24 在 #任务调度器
54 每月下载量
用于 danmuji
16KB
240 行
“我迟到了!我迟到了!因为一个非常重要的日期!”
出自“白兔” 《爱丽丝梦游仙境》
关于
white_rabbit
可以安排您的任务并可重复执行!
一个有趣的用例是聊天机器人,例如一个 提醒我 命令,可能在用户指定的时间后重复。
我们使用 chrono 的 DateTime<Utc>
,使您可以将当前正在运行的任务序列化,以便在需要关闭/重启应用程序时进行备份。然而,请确保您的内部时钟已同步。
欢迎每个人贡献,请查看 CONTRIBUTING.md
以获取更多指导。
示例
让我们看看一个代码示例
use white_rabbit::{DateResult, Duration, Scheduler};
fn main() {
let mut scheduler = Scheduler::new(4);
scheduler.add_task_duration(Duration::seconds(5), |_| {
println!("I'm here!");
DateResult::Done
});
}
精度
当不需要时,调度器会休眠。由于抢占或操作系统之间的不同实现,调度器可能会比预期休眠更长的时间。
请注意,不正确的系统时钟可能导致任务运行时间提前或延迟。
安装
将以下内容添加到您的 Cargo.toml
[dependencies]
white_rabbit = "0.1.0"
依赖项
~2.7–5MB
~84K SLoC