Cron 表达式解析
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_15292d5a/yjkj-cn-cron-parser。
技能介绍
要解决什么问题
在排程、定时任务和运维脚本里,你经常碰到形如 0 9 * * 1-5 的 Cron 表达式:机器能算,人却要对着「分 时 日 月 周」五个字段反复推敲。改错一次就可能漏跑或重复触发。这个技能把表达式翻译成人类可读的时间描述,并在需要时给出下次执行时间,减少「猜字段含义」的成本。
技能如何工作
- 解析表达式:按标准五段式(分、时、日、月、周)读取
cron参数,并遵循常见约定(例如星期0表示周日,1表示周一)。 - 可读描述:把各字段的组合含义整理成自然语言说明,便于评审任务配置或与同事对齐。
- 下次执行:在传入
--next时,基于当前时间计算下一次触发点,适合核对「这条规则到底什么时候会跑」。 - 常用模板:使用
--templates可查看常见排程写法,作为起草新规则的起点。
底层依赖 croniter 做时间迭代与校验,适合与 Python 3.x 环境里的排程逻辑一起使用。
适用边界与注意点
- 输入必须是完整的 Cron 五段表达式;字段顺序固定为分 时 日 月 周,与部分系统里带「秒」的六段格式不兼容,混用前要确认平台规范。
- 星期字段的编号以资料说明为准(
0=周日),不同调度器文档偶有差异,生产环境请以目标系统文档为准再对照本技能的输出。 - 本技能侧重解释与验算,不替代调度器自身的时区、夏令时与「错过触发是否补跑」等策略;跨时区任务仍需在调度侧单独配置。
使用场景
- 上线前核对 CI 流水线里 `H H * * *` 类触发规则,确认是否只在工作日白天执行
- 向同事说明 Kubernetes CronJob 里五段表达式对应的实际触发窗口,避免误读星期字段
- 改完备份或报表任务的 cron 后,用 `--next` 验算下一次真正跑的时间点
- 新建定时任务时通过 `--templates` 对照常用写法,减少分/时/日/月/周字段拼写错误
适合人员
- 维护 Jenkins/GitLab 定时触发配置的发布工程师,需要在改规则前把表达式翻译成可读说明
- 编写 Celery Beat 或 APScheduler 规则的后端开发,想快速核对 `cron` 字符串与下次触发是否一致
- 负责集群 CronJob 与备份窗口的 SRE,要在变更窗口内向业务方说明「这条任务何时会跑」
- 写内部运维小工具、用 Python 3 管理批处理脚本的工程师,需要与 croniter 一致地解析五段式表达式