Карточка Middle Celery и очереди обновлено
Ретраи в Celery
Вопрос
Как настроить автоматические ретраи задачи Celery?
Попробуйте сами
Ответьте про себя или вслух, потом откройте ответ и сверьтесь.
Показать ответ и разбор
Коротко
@sharedtask(autoretryfor=(ConnectionError,), retrybackoff=True, retrybackoffmax=600, retryjitter=True, maxretries=5) или вручную raise self.retry(exc=exc, countdown=...) в задаче с bind=True.
Ответ
@shared_task(autoretry_for=(ConnectionError,), retry_backoff=True, retry_backoff_max=600, retry_jitter=True, max_retries=5) или вручную raise self.retry(exc=exc, countdown=...) в задаче с bind=True.
Разбор
retry_backoff даёт экспоненциальную задержку, retry_jitter добавляет случайность, чтобы задачи не повторялись волной одновременно.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.