如何让 cron 运行 在 10 分钟间隔内只执行 42 次?

How to make cron run only 42 times in 10 minute intervals?

我需要以 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,*,*,?,*) 

这个表达式是否准确且最有效地满足我的需求?

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

您已将表达式的小数部分偏移 1,因此它会 运行 在 1,11,21,31,41,51。如果你只是想让它每 10 分钟 运行 一次,那么你可以改为 */10

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

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