如何让 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:01
到 21:51
。
请注意,这是在 UTC
中执行的,因此请确保时间与您期望它运行的任何时区相匹配。
我需要以 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:01
到 21:51
。
请注意,这是在 UTC
中执行的,因此请确保时间与您期望它运行的任何时区相匹配。