【发布时间】:2011-06-04 09:33:38
【问题描述】:
在给定当前时间和 cron 规范的情况下,计算事件下一次运行时间的有效方法是什么?
我正在寻找“每分钟循环检查是否符合规范”以外的其他内容。
规格示例可能是:
- 每月 1 日和 15 日 15:01
- 每小时 10、20、30、40、50 分钟
Python 代码会很可爱,但伪代码或高级描述也会受到赞赏。
[更新] 假设规范已经被解析并且是某种合理的格式。
【问题讨论】:
-
我做过类似的事情,但发现很难做到正确(我可能的“规格”是你的一个子集)。我只是对每个规范的
type进行了一些日期时间计算和函数。如果有人有更好的答案,我很感兴趣(解决方案可能是使用库:x) -
你能举一个规范格式的例子吗?
-
Later.js 是一个 javascript 库,它就是这样做的。它能够解析 Cron 表达式,然后计算计划的未来发生。它的算法不是很花哨,但它可以完成工作。可能值得一看。
标签: python algorithm cron scheduler