-2

Cronjobs 不会在其预定时间运行任何作业,这些作业仅在删除一个或多个 cronjobs 时运行。是否有一些 cronjob 数量限制?从哪里获取此问题的日志消息?

编辑:我有完全相同的开发和生产环境完美地工作,这只发生在测试环境中。这个问题每天都会发生,我发现的解决方法是删除一个或多个 cronjobs 以便在那一刻运行我想要的。

---
apiVersion: batch/v1beta1
kind: CronJob
metadata:
  name: rcj-homebroker-bolsa
  namespace: <KUBE_NAMESPACE>
spec:
  schedule: "0 14 * * 1-5"
  startingDeadlineSeconds: 600
  concurrencyPolicy: Forbid
  successfulJobsHistoryLimit: 5
  failedJobsHistoryLimit: 5
  jobTemplate:
    spec:
      activeDeadlineSeconds: 18000
      backoffLimit: 0
      template:
        metadata:
          labels:
            cronjob: rcj-homebroker-bolsa
      template:
        spec:
          containers:
          - name: rcj-homebroker-bolsa
            image: <DOCKER_TAG>
            command: ["/bin/bash"]
            args: ["./processBolsa.sh"]
            lifecycle:
              preStop:
                exec:
                  command:
                  - /bin/bash
                  - pre-stop.sh

4

1 回答 1

1

您将CronJob的并发策略设置为,Forbid这意味着 cron 作业不允许并发运行;如果是运行新作业的时间,并且之前的作业运行尚未完成,则 cron 作业会跳过新作业的运行。

请将并发策略设置为Allow(默认)- cron 作业允许同时运行的作业。

concurrencyPolicy: Allow

在特殊情况下使用Replace标志:- 如果是新作业运行的时间并且之前的作业运行尚未完成,则 cron 作业将当前运行的作业运行替换为新的作业运行。

请看一下:并发策略

于 2020-08-06T12:53:54.457 回答