Celery Task не повторяет попыток после определенного количества раз

У меня есть задача celery с RabbitMQ в качестве брокера. Задача вызывает API и проверяет ответ, если ответ не удовлетворяет некоторым условиям, задача повторяет попытку с обратным отсчетом 5 секунд. Проблема в том, что моя задача повторяется ровно 279 раз, после чего она застревает в статусе "retried" и не выполняется.

Вот что в основном делает моя задача:


@shared_task(name="get-progress", bind=True, max_retries=10 ** 65, acks_late=True, reject_on_worker_lost=True)
def get_progress(self, object_id: str):

    # get progress from third party api and store in status variable

    if status == "available":
        # update object in db
        return
    else:
        self.retry(countdown=5)

Я создал еще одну задачу для проверки моей конфигурации следующим образом

@shared_task(name="dummy", bind=True, max_retries=10 ** 65, acks_late=True, reject_on_worker_lost=True)
def dummy(self):
    logger.info(f"retry {self.request.retries} of {self.max_retries} with {self.request.id}")
    self.retry(countdown=1)

Фиктивная задача работает отлично и повторяется до смешного большое количество раз.

Не происходит никаких исключений, я проверил, не прерывается ли работа API, и этого не произошло. Число 279 действительно сбивает меня с толку, и я думаю, что я что-то упускаю. Буду признателен за любую помощь.

Вернуться на верх