开发者工具 · Crontab 生成器
大声朗读 cron 表达式: */5 9-17 * * 1-5 如何变成单词
· 工作原理
计划任务 代码审查 开发人员工作流程
一旦知道顺序,将表达式翻译成英语就是一个机械过程。这篇文章给出了阅读算法,将其应用于棘手的示例,并展示了生成器的解释如何帮助您检查。
差异中的 crontab 您无法查看 - 五个带有步骤和范围的字段,没有注释解释它们
拉取请求中的五个令牌表达式是压缩为标点符号的可执行策略。识别形状但无法大声说出时间表的审阅者可能会错过包容性端点、错误的步骤或两天字段之间的特殊关系。因此,翻译是一种正确性检查,而不是装饰性的文档。
ToolAcre 从警告和预览使用的解析对象中派生出其句子。仅粘贴五个字段,将命令和秘密留在外面。如果生成的措辞与作者的评论不同,请在将表达式安装到任何地方之前暂停审核并解决意图。
首先阅读日期字段 - 星期几和月份告诉您哪一天,然后分钟和小时告诉您时间
日历范围最容易在时钟细节之前建立。月份和工作日显示一年或一周的哪些部分符合资格;一个月中的某一天可以添加另一个日历条件;小时和分钟,然后在匹配的日期内运行。此阅读顺序供人工审阅,而表达式存储的位置顺序仍然是分钟优先。
始终询问两个日字段是否受到限制。如果是这样,ToolAcre 将用“or”将它们连接起来并发出警告。随意阅读它们,因为相邻的 AND 过滤器会改变时间表。一天字段中的通配符消除了这种歧义,并让另一个字段充当唯一一天的限制。
将每个标记 — * 翻译为“每个”,将数字翻译为“at”,将范围翻译为“从–到”,将步骤翻译为“从...开始的每 N 个”
星星表示该位置的所有允许值。一个数字选择一个值。连字符包含其端点之间的每个值。逗号组合项目,斜杠对从通配符、范围或裸开头开始的每个 n 个值进行采样。该字段自身的最小值决定了通配符步骤的开始位置。
接受月份和工作日的名称,不区分大小写,包括 `JAN-MAR` 和 `MON-FRI` 等范围。星期日可以写为 0 或 7 并标准化为 0。描述代码将连续的扩展值转换为“通过”措辞,并将不连续的值转换为可读列表。
工作示例:该工具描述了选定的小时数,而扩展的分钟值则确定了最终运行
`*/5 9-17 * * 1-5` 选择分钟值 0 到 55(以 5 为步长)、小时值 9 到 17 以及星期一到星期五的工作日。该工具描述了所选小时范围内的分钟步进。展开这些值表明,所包含的 17 小时内的最终候选者是 17:55。
当“9-17”被解释为工作日边界时,最后一个候选者经常被错过。 Cron 选择完整的小时值,然后将它们与所有选定的分钟组合起来。如果意图以 17:00 结尾,则不能仅仅因为“朝九晚五”一词听起来很熟悉,就将表达式视为正确。
工作示例: 0 0 1,15 * 3 — 读取日场或大声排除,以免错过
现在阅读 `0 0 1,15 * 3`。选择午夜,每月的第一天或第十五天,工作日为星期三。由于两个日期字段均受到限制,因此日历条件为每月的第一天或第十五天或每周三。这不是“日期为 1 或 15 的星期三”。
ToolAcre 的警告使该联合变得突出,并且其描述插入了单词“或”。下次运行预览给出了所选区域的具体日期。检查所有三个输出,因为仅一个流利的句子可能仍然掩盖了潜在的需求是方言无法直接表达的交集。
仅在对照表达式进行检查后才存储意图注释
表达式上方的注释可以保留意图,但它也可以在字段更改后保留旧的谎言。在审阅期间根据当前标记生成或手动重建句子。如果编辑将 `0` 更改为 `*/5`,请仅在确认扩展分钟集和最终运行后更新注释。
更喜欢说明挂钟区域假设以及频率的注释。该表达式不包含时区字段,而 ToolAcre 的预览要求审阅者选择一个。该注释可以帮助其他人重现相同的列表,而不意味着浏览器选择会配置最终的调度程序。
六域和七域语法被拒绝,不翻译
解析器需要正好五个字段。六字段输入接收有关前导秒样式的具体解释;较长的形式不被解释。 ToolAcre 也没有年份字段。因此,本文中的简单英语算法仅适用于存储库的五字段语法。
在剩余文本验证之前,请勿从 Quartz、Spring 或其他产品中删除字段。不受支持的运算符可以具有重要意义。翻译需要两个系统的文档,而该生成器仅提供其自己接受的值、名称、范围、列表、步骤、通配符和别名的证据。
要点:每个表达式都有一个句子 - 并且 Crontab 生成器会生成该句子,以便您可以将其与意图进行比较
每个受支持的表达式都可以扩展为有限字段值和日历语句。阅读这些值可以发现非正式短语省略的边缘候选值。它还会在时间表到达操作主机之前强制将日场 OR 规则纳入对话中。
为了进行审查,请粘贴表达式,将生成的描述与规定的要求进行比较,检查警告并采样即将到来的时间。将生成的注释保留在行旁边,但将解析的表达式视为可执行源。生成器解释计划意图;它不证明命令或安装它。