自定义重复间隔的Google Cloud cron.yaml时间表格式

我正在努力为gcp正确设置cron时间表,而文档并没有真正帮助我。

Cron#1:仅在从3月到10月的几个月内,从11:00到21:00每50分钟运行一次

  schedule: every 50 minutes from 11:00 to 21:00 of mar,apr,may,jun,jul,aug,sep,oct

Cron#2:仅在从3月到10月的每个月的每天22:00运行

  schedule: every day 22:00 of mar,oct

这些都不起作用,但这是我的尝试之一。我在这里做什么错了?

kangzilong 回答:自定义重复间隔的Google Cloud cron.yaml时间表格式

请参阅下面的Formatting the schedule文档。

第一个cron不支持语法:

  • END-TIME INTERVALSTART-TIME INTERVAL格式支持以[INTERVAL_VALUE]指定分钟,但是它们都不允许以[INTERVAL_SCOPE]指定月份。
  • [INTERVAL_SCOPE]中唯一支持月份规范的格式是CUSTOM INTERVAL,但仅支持[INTERVAL_VALUE]中的月份规范。

但是您可以通过使用cron.yaml中的更精细的时间规范并检查cron作业本身内部的其余条件来实现等效功能,如果不满足条件,则不执行任何操作。因此,您的第一个cron将通过以下方式实现:

  • cron.yaml条目:

    schedule: every 50 minutes from 11:00 to 21:00
    
  • cron作业本身中的当前月份的另一张支票,如果月份是1月,2月,11月或12月,则不执行任何操作(仅返回)。

您可以使用CUSTOM INTERVAL来获得第二个cron,只需将小时数放在[INTERVAL_SCOPE]的末尾即可。来自文档:

  

[INTERVAL_SCOPE]:指定与   指定[INTERVAL_VALUE]。自定义间隔可以包括of [MONTH]子句,该子句指定一年中的一个月,或者   多个月的逗号分隔列表。您还必须定义一个   您希望作业运行的特定时间,例如:of [MONTH] [HH:MM]

因此您的输入将是:

schedule: every day of mar,apr,may,jun,jul,aug,sep,oct 22:00
本文链接:https://www.f2er.com/3155243.html

大家都在问