【问题标题】:How to make cron run only 42 times in 10 minute intervals?如何让 cron 每隔 10 分钟只运行 42 次?
【发布时间】:2020-12-11 04:08:12
【问题描述】:

我需要以 10 分钟为间隔运行 42 次作业。我将使用 AWS 计划任务执行此操作,它具有以下 cron 语法:https://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html

我想出的基本算术公式:

42 * 10 minutes = 420 minutes / 60 minutes = 7 hours.

这意味着我希望计划任务在 7 小时内以 10 分钟的间隔运行。一旦达到 7 小时,它就不再在一天的剩余时间内运行。

鉴于此,我想出了这个表达方式?

cron(1/10,15-21,*,*,?,*) 

这个表达方式对我的需求是否准确且最有效?

【问题讨论】:

    标签: amazon-web-services cron amazon-cloudwatch-events


    【解决方案1】:

    表达式的语法实际上应该是cron(1/10 15-21 * * ? *),因此您需要删除它们之间的逗号。

    您已将表达式的微小部分偏移了1,因此它将在 1,11,21,31,41,51 处运行。如果您只是希望它每 10 分钟运行一次,那么您可以改为使用 */10

    这将在一小时 7 小时内运行 6 次,因此您的计数为 42,这是您期望的从 15:0121:51

    请注意,这是在 UTC 中执行的,因此请确保时间与您期望它运行的任何时区相匹配。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-15
      • 2017-05-08
      • 2011-01-04
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 2021-12-18
      相关资源
      最近更新 更多