【发布时间】:2020-04-23 20:22:38
【问题描述】:
我想编写一个计划触发器,以每 13 天在 Azure 中触发一次管道。我似乎无法使用正常的 cron 作业语法找到答案,而且我已经看到您可以将它与正则表达式结合使用。开始日期不很重要。我想过这样的事情:
schedules:
- cron: "0 1 * * * $((((($(date +%s) / 86400) % 13))==0))"
displayName: Every 13 days execution
但我收到语法错误。如何将正则表达式添加到天蓝色的 cron 计划触发器?
如果您回显正则表达式的结果:echo $((((($(date +%s) / 86400) % 13))==0)),您可以看到它按预期工作,现在它是关于在 yaml 文件中将其与 cron 作业一起使用。
显然,类似:0 0 */13 * * 不起作用,因为它将在 13 日和 26 日,从每月 26 日到下一个 13 日,超过 13 天。
编辑:
0 */312 * * * 会工作吗?根据https://crontab.guru/#0_/312___ 似乎是这样。我只是不确定它是否是 24 小时制的,因此从未真正运行过?因为,嗯,每312小时一次,一天从来没有312小时,但如果不这样解释应该没问题吧?
看到一个人在Cron job every three days 上写了类似的东西,得到了 15 个赞。
第二次编辑: /312 不起作用。频率不能高于 23,这是有道理的。不要相信您在 Stack 上阅读的所有内容 :-)
【问题讨论】:
标签: cron yaml azure-pipelines