У меня есть простая инфраструктура повторов сельдерея, но проблема, с которой я сталкиваюсь, заключается в том, что мой метод 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()
Есть ли другой метод, который вызывается на неудача, когда попытки исчерпаны? Спасибо.