本文介绍开源 C 语言库 Melon 的 cron 格局解析。
对于 Melon 库,这是一个开源的 C 语言库,它具备:开箱即用、无第三方依赖、装置部署简略、中英文文档齐全等劣势。
Github repo
简介
cron 也就是咱们常说的 Crontab 中的工夫格局,格局如下:
* * * * *
分 时 日 月 周
例如:
30 21 * * *
示意:每晚的 21:30
应用
Melon 中 cron 格局解析器会将上述格局解析成一个 time_t
类型值。应用代码如下:
#include "mln_cron.h"
#include <stdio.h>
int main(void)
{char p[] = "* * * * *;
mln_string_t s;
mln_string_nset(&s, p, sizeof(p)-1);
time_t now = time(NULL);
time_t next = mln_cron_parse(&s, now);
printf("%lu %lu %s\n", (unsigned long)now, (unsigned long)next, ctime(&next));
return 0;
}
能够看到,本例中,cron 格局为* * * * *
,含意即是每分钟。
程序流程大抵:
- 初始化格局字符串
- 获取以后零碎秒值
- 将以后秒值作为参考基数,来计算该 cron 格局的秒级工夫戳,即下一秒的工夫值
- 输入 cron 解析器返回的秒值及其格式化字符串内容
Melon 中 cron 解析器在 mln_cron.h
中,应用时须要 include
进来。
另外需注意,在 Melon 中,cron 临时不反对 -
示意范畴值。
结语
cron 格局解析目前能反对的格局是 crontab 的一个子集,后续随着应用需要可能会再进行扩大。
另外,欢送各位对 Melon 感兴趣的读者拜访其 Github 仓库。
感激浏览!