Kubernetes CronJob - 如果上一个作业仍在运行,则跳过作业并等待下一个计划时间

k_v*_*ath 5 cron kubernetes kubernetes-cronjob

我已安排 K8s cron 每 30 分钟运行一次。

如果当前作业仍在运行并且已达到下一个 cron 计划,则不应创建新作业,而是等待下一个计划。

如果上一个作业仍处于运行状态,则重复相同的过程。

All*_*uce 8

spec.concurrencyPolicy: Forbid如果旧作业仍在运行,则将推迟开始第二项作业。但是,该作业将在旧作业完成后立即排队启动。

要完全跳过运行新作业并等到下一个计划时间,请设置.spec.startingDeadlineSeconds为小于 cronjob 间隔(但大于作业的最大预期启动时间)。

如果您每 30 分钟运行一次作业,并且知道该作业的启动时间永远不会超过一分钟,请设置.spec.startingDeadlineSeconds: 60