#cron #format-string #utilities #utility #minutes #return #remaining

rusty-cron

轻量级且性能优异的库,用于解析 cron 格式的字符串并返回下一次执行剩余的毫秒数。接受 5 或 6 个参数(5 个用于分钟及以上,6 个用于秒)

1 个不稳定版本

0.8.0 2024 年 7 月 30 日

#3 in #minutes

Download history 129/week @ 2024-07-29 4/week @ 2024-08-12

每月 133 次下载
用于 rusty-cron-scheduler

GPL-3.0-only

17KB
227

rusty-cron

轻量级且性能优异的库,用于解析 cron 格式的字符串并返回下一次执行剩余的毫秒数。

  1. 关于
  2. 特性
  3. 安装
  4. 使用
  5. 贡献

关于

rusty-cron 是一个简单的库,用于解析 cron 格式化的字符串并返回下一次执行剩余的毫秒数,可以是当前时间或给定的时间,它为了快速执行而牺牲了一点点内存使用,但对于大多数应用来说不应成为问题。

特性

目前允许使用 5 或 6 个标记的 cron 格式化字符串,具体取决于您是否需要精确到分钟或秒。它还允许在字符串中使用所有常规标记,这些标记是

  • *: 定义所有可能的值
  • x/y: 定义从 x 开始并每隔 y 重复的值,例如:0/5,从 0 开始每隔 5 分钟
  • x-y: 从 x 到 y 的值,例如:5-15,从 5 到 15 的每分钟
  • x,y,z: 定义特定的值,例如:1,5,50,在分钟 1、5 和 50

您也可以以某种方式混合使用这些标记,查看 https://crontab.guru/ 了解您的 cron 如何工作的详细解释。

安装

安装应如 cargo install rusty_cron 一样简单

使用

只需添加 use rusty_cron::Cron 并使用 Cron::parse_time() 与您的 cron 字符串(建议使用 https://crontab.guru/ 验证字符串并创建新的字符串),可选地,第二个参数 DateTime 以给算法提供起始日期,默认为 "chrono::Utc::now()"。

这将返回一个结果,其中包含错误消息的字符串或下一次理论执行的剩余毫秒数。如果您想要定期触发任务,请查看 rusty-scheduler,它使用此相同的 cron 字符串格式来自动执行函数。

贡献

如果您觉得缺少什么,可以进行改进或需要更改,请通过工单或直接发起拉取请求告诉我,我会尽快查看。

依赖关系

~1MB
~18K SLoC