1 个不稳定版本
0.8.0 | 2024 年 7 月 30 日 |
---|
#3 in #minutes
每月 133 次下载
用于 rusty-cron-scheduler
17KB
227 行
rusty-cron
轻量级且性能优异的库,用于解析 cron 格式的字符串并返回下一次执行剩余的毫秒数。
关于
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