What we’re after
Research and implement better handling for download failures across the API and Celery apps.
Logs show jobs can hit DB statement timeouts. The task writes download-failed:<task_id> for the API flow, but Celery reports the task as succeeded.
Action item(s)
Completion criteria
References/resources/technical considerations
webservices/tasks/download.py: generic Exception logs Download failed, writes Redis failure state, and does not re-raise.
webservices/resources/download.py: API polling reads download-failed:<task_id> and returns HTTP 500.
What we’re after
Research and implement better handling for download failures across the API and Celery apps.
Logs show jobs can hit DB statement timeouts. The task writes
download-failed:<task_id>for the API flow, but Celery reports the task assucceeded.Action item(s)
Download failedshould re-raise so Celery marks the task failed.Completion criteria
References/resources/technical considerations
webservices/tasks/download.py: genericExceptionlogsDownload failed, writes Redis failure state, and does not re-raise.webservices/resources/download.py: API polling readsdownload-failed:<task_id>and returns HTTP 500.