#调度器 #任务 #任务调度器 #任务 #时间

white_rabbit

任务调度器,允许定时执行,可重复或不重复

2 个版本

0.1.1 2019 年 5 月 9 日
0.1.0 2019 年 5 月 9 日

#24#任务调度器

Download history 22/week @ 2024-03-16 19/week @ 2024-03-23 69/week @ 2024-03-30 17/week @ 2024-04-06 21/week @ 2024-04-13 22/week @ 2024-04-20 17/week @ 2024-04-27 16/week @ 2024-05-04 21/week @ 2024-05-11 16/week @ 2024-05-18 21/week @ 2024-05-25 18/week @ 2024-06-01 7/week @ 2024-06-08 18/week @ 2024-06-15 22/week @ 2024-06-22 5/week @ 2024-06-29

54 每月下载量
用于 danmuji

ISC 许可证

16KB
240

ci-badge docs-badge rust badge crates.io version

“我迟到了!我迟到了!因为一个非常重要的日期!”

出自“白兔” 《爱丽丝梦游仙境》

关于

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