Sat*_*an 5 concurrency cron gcloud kubernetes
我需要一个 cron 作业每 5 分钟运行一次。如果较早的 cron 作业仍在运行,则不应启动另一个 cron 作业。我尝试将并发策略设置为“禁止”,但 cron 作业根本不运行。
spec:
concurrencyPolicy: Allow
schedule: '*/5 * * * *'
Run Code Online (Sandbox Code Playgroud)
spec:
concurrencyPolicy: Forbid
schedule: '*/5 * * * *'
Run Code Online (Sandbox Code Playgroud)
spec:
concurrencyPolicy: Forbid
schedule: '*/5 * * * *'
startingDeadlineSeconds: 10
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
来自 kubernetes 文档
\n并发策略指定如何处理由该 cron 作业创建的作业的并发执行。该规范可能仅指定以下并发策略之一:
\n允许(默认):cron 作业允许同时运行作业
\nForbid: cron 作业不允许并发运行;如果到了运行新作业的时间,并且上一个作业运行尚未完成,则 cron 作业将跳过新作业运行
\nReplace:如果到了运行新作业的时间,并且之前的作业运行尚未完成,则 cron 作业将用新的作业运行替换当前正在运行的作业运行
\n在您的情况下,“concurrencyPolicy:禁止”应该有效。如果先前的作业仍在运行,则不允许运行新的作业。在您的情况下,问题不在于 concurrencyPolicy 。
\n它可能与startingDeadlineSeconds有关。你可以删除它并尝试吗
\n