Выгрузка на полтора часа запускается вторым воркером, пока первый не закончил
Celery работает с брокером Redis, для задач включено acks_late=True, чтобы задача не терялась при падении воркера. Ежемесячная выгрузка длится около 90 минут. Через час после старта ту же выгрузку начинает второй воркер, а к утру она выполнена дважды.
В чём причина?
- Задача не подтверждена за visibility_timeout, и брокер выдал её снова
- acks_late заставляет Celery запускать каждую задачу на двух воркерах
- Первый воркер упал через час, но продолжил работать в фоне
- Планировщик beat поставил задачу повторно по расписанию
