Python Метод сбоя обратного вызова Celery, выполняемый при каждой повторной попытке - PullRequest
0 голосов
/ 27 марта 2020

У меня есть простая инфраструктура повторов сельдерея, но проблема, с которой я сталкиваюсь, заключается в том, что мой метод on_failure вызывается при каждой повторной попытке. Я ищу место, где я могу добавить логи c, чтобы после завершения попыток я хотел бы установить статус объекта на failure.

class BaseTask(Task):
   abstract = True
   def on_success(self, obj, **kwargs):
       # this is called only once when the task is completed 
       obj.success=True
       obj.save()

   def on_failure(self, obj, **kwargs):
       # this is called everytime on retry. 
       obj.error=True;
       obj.save() 


@task(bind=true, base=BaseTask, max_retries=5, default_retry_delay=60*60)
def retry_my_logic_on_error(obj):
    try:
        obj.full_name = requests.get(foo)
    except Exception:
        self.retry()

Есть ли другой метод, который вызывается на неудача, когда попытки исчерпаны? Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...