我有一个Spring Batch作业,并将其部署在Kunernetes上。我还使用Kubernetes cronjob config在每天上午10点运行它。像这样的例子
apiVersion: batch/v1 kind: CronJob metadata: name: hello spec: schedule: "0 10 * * *"
我担心如果在上午10点,我有3个pod运行,那么我的作业将运行3次。Kubernetes是否会阻止这种情况,所以我的作业只会运行一次?
nmpmafwu1#
为了避免这种情况,您可以使用concurrencyPolicy字段。concurrencyPolicy字段可以设置为Allow、Forbid或Replace。如果设置为Forbid,则cron作业不允许并发作业,从而有效地防止重复。
concurrencyPolicy
Allow
Forbid
Replace
apiVersion: batch/v1 kind: CronJob metadata: name: hello spec: schedule: "0 10 * * *" concurrencyPolicy: Forbid
1条答案
按热度按时间nmpmafwu1#
为了避免这种情况,您可以使用
concurrencyPolicy
字段。concurrencyPolicy
字段可以设置为Allow
、Forbid
或Replace
。如果设置为Forbid
,则cron作业不允许并发作业,从而有效地防止重复。