🔧(backend) refine Celery retry policy to HTTP errors only

Only retry jobs on HTTP errors (docs push failures) rather than all
errors. Skip retries for Whisper processing failures as they won't
succeed on retry.
This commit is contained in:
lebaudantoine
2025-07-10 14:55:59 +02:00
committed by aleb_the_flash
parent 921d69031e
commit 30cd6573ef

View File

@@ -12,7 +12,7 @@ from celery import Celery, signals
from celery.utils.log import get_task_logger from celery.utils.log import get_task_logger
from minio import Minio from minio import Minio
from mutagen import File from mutagen import File
from requests import Session from requests import Session, exceptions
from requests.adapters import HTTPAdapter from requests.adapters import HTTPAdapter
from urllib3.util import Retry from urllib3.util import Retry
@@ -221,7 +221,11 @@ def process_audio_transcribe_summarize(filename: str, email: str, sub: str):
logger.debug("Response body: %s", response.text) logger.debug("Response body: %s", response.text)
@celery.task(bind=True, max_retries=settings.celery_max_retries) @celery.task(
bind=True,
autoretry_for=[exceptions.HTTPError],
max_retries=settings.celery_max_retries,
)
def process_audio_transcribe_summarize_v2( def process_audio_transcribe_summarize_v2(
self, filename: str, email: str, sub: str, received_at: float self, filename: str, email: str, sub: str, received_at: float
): ):