我正在构建一些需要调度输入的软件,我真的很想重新使用 crontab 的设计,因为它很简单。
CrontabExpressions可以非常简单的*/5 * * * *
“每五分钟运行一次”或更复杂2-59/3 1,9,22 11-26 1-6 ? 2003
的“2003 年 1 月至 6 月的每个月的 11 日至 26 日,从凌晨 1 点、上午 9 点和晚上 10 点开始每隔三分钟运行一次”。
我不打算使用名为 crontab 的 linux 软件,我正在寻找一种可以正确评估这些表达式的方法(例如,输出与 crontab 匹配的接下来的 25 个时间戳,或者基于一些抽象的 GUI 为用户生成它) .
我真的找不到任何用 JavaScript 或 PHP 甚至其他语言执行此操作的库或函数。如果它们不存在,那么这样做的好方法是什么?我已经知道过于复杂的正则表达式可能是错误的答案。我很难在 crontab 中找到执行此任务的 C 源代码,这让我相信它可能不会在这里发生?