以下cron表达式:
0 3 1 5-5/3 *
“从五月到五月,每三个月一个月的零三点。”
不被Github的行为所接受:
on:
schedule:
- cron: "0 3 1 5-5/3 *" ## Day 1, every 3rd month May-May
具有以下输出:
ERROR: String does not match the pattern of "^(((\d+,)+\d+|((\d+|\*)/\d+|((JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)(-(JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))?))|(\d+-\d+)|\d+|\*|((MON|TUE|WED|THU|FRI|SAT|SUN)(-(MON|TUE|WED|THU|FRI|SAT|SUN))?)) ?){5}$".yaml-schema: GitHub Workflow
从5月1日开始,每3个月运行一次,一直持续到明年5月,怎么可能呢?
发布于 2022-02-27 10:28:28
你的cron表情可能和你期望的不一样。部件5-5/3
只将执行时间限制为五月。这将导致一个作业将在每年5月的第一天03:00运行。
2022-05-01 03:00:00
2023-05-01 03:00:00
2024-05-01 03:00:00
GitHub用于验证cron表达式的正则表达式(根据问题中的错误消息)不允许同时定义范围和步骤。这可能是一个bug,因为这样的表达式通常是有效的。
要解决这个问题,您可以像0 3 1 5,8,11,2 *
一样直接在cron表达式中列出所有月份,这将导致以下日程安排:
2022-05-01 03:00:00
2022-08-01 03:00:00
2022-11-01 03:00:00
2023-02-01 03:00:00
2023-05-01 03:00:00
2023-08-01 03:00:00
2023-11-01 03:00:00
2024-02-01 03:00:00
https://stackoverflow.com/questions/71265913
复制相似问题