#job #periodic #cron-job #cron #jobs #minutes

schedule

用于周期性任务的进程内调度器。Schedule 允许您以 cron 类似的方式运行 Rust 函数。

1 个不稳定版本

使用旧的 Rust 2015

0.1.0 2017年2月1日

#19#minutes

Download history 21/week @ 2024-03-11 20/week @ 2024-03-18 23/week @ 2024-03-25 42/week @ 2024-04-01 13/week @ 2024-04-08 15/week @ 2024-04-15 23/week @ 2024-04-22 14/week @ 2024-04-29 13/week @ 2024-05-06 18/week @ 2024-05-13 17/week @ 2024-05-20 32/week @ 2024-05-27 17/week @ 2024-06-03 9/week @ 2024-06-10 13/week @ 2024-06-17 15/week @ 2024-06-24

61 每月下载量
用于 2 crates

MIT/Apache

12KB
253 代码行

schedule-rs

用于周期性任务的进程内调度器。Schedule 允许您以 cron 类似的方式运行 Rust 函数。

安装

[dependencies]
schedule = "0.1"

用法

extern crate schedule;
extern crate chrono;

use schedule::{Agenda, Job};
use chrono::UTC;

fn main() {
    let mut a = Agenda::new();

    // Run every second
    a.add(Job::new(|| {
        println!("at second     :: {}", UTC::now());
    }, "* * * * * *".parse().unwrap()));

    // Run every minute
    a.add(Job::new(|| {
        println!("at minute     :: {}", UTC::now());
    }, "* * * * *".parse().unwrap()));

    // Run every hour
    a.add(Job::new(|| {
        println!("at hour       :: {}", UTC::now());
    }, "0 * * * *".parse().unwrap()));

    // Check and run pending jobs in agenda every 500 milliseconds
    loop {
        a.run_pending();

        std::thread::sleep(std::time::Duration::from_millis(500));
    }
}

许可证

config-rs 主要根据 MIT 许可证和 Apache 许可证(版本 2.0)的条款进行分发。

请参阅 LICENSE-APACHE 和 LICENSE-MIT 以获取详细信息。

依赖关系

~3MB
~51K SLoC