Задание не выполняется в запланированное время - Kubernetes CronJob - PullRequest
0 голосов
/ 14 июля 2020

Cronjobs не выполняет никаких заданий в запланированное время, задания запускаются только при удалении одного или нескольких cronjobs. Есть ли ограничение на количество заданий cron? Где получить сообщения журнала об этой проблеме?

EDIT: У меня точно такая же среда для разработки и производства, отлично работает, это происходит только в среде тестирования. Эта проблема возникает ежедневно, и я нашел обходной путь, чтобы удалить одно или несколько 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

1 Ответ

0 голосов
/ 06 августа 2020

Вы установили политику параллелизма с CronJob на Forbid, что означает, что задание cron не допускает одновременных запусков; если пришло время для запуска нового задания, а предыдущее задание еще не завершено, задание cron пропускает запуск нового задания.

Установите для политики параллелизма значение Allow (по умолчанию) - задание cron разрешает одновременное выполнение заданий.

concurrencyPolicy: Allow

В исключительной ситуации используйте флаг Replace: - если пришло время для запуска нового задания, а предыдущий запуск еще не завершен, задание cron заменяет текущее запущенное задание запускается с новым запуском задания.

Пожалуйста, посмотрите: concurrency-policy .

...