Проблема: фоновые задачи в Celery начинали дублироваться, «залипать», ломалось расписание (Celery Beat), рос backlog, а причина сбоев была неочевидна. В итоге страдала стабильность сервиса: задачи выполнялись не вовремя, часть — повторялась, часть — зависала.
Цель (DoD): стабильное выполнение задач без массовых дублей и зависаний, предсказуемое расписание, прозрачная диагностика и понятный порядок действий при сбое.
Что сделано:
1) Диагностика по фактам: проверка конфигурации Celery Worker/Beat, очередей и Redis, ретраев/таймаутов, поведения при рестартах, типовых сценариев нагрузки.
2) Устранение первопричин дублей/зависаний: настройка идемпотентности/дедупликации, корректировка retry/timeout, нормализация расписания Beat, устранение точек отказа.
3) Контроль результата: набор checks и evidence (обезличенные логи выполнения, команды повторного прогона, сводка PASS/FAIL) + мини-runbook “что делать при сбое”.
Результат: стабильный контур фоновых задач, предсказуемое расписание и сниженный операционный риск (нет «тихих» дублей, меньше зависаний, понятная диагностика).
Формат сдачи: evidence-пакет (checks + logs + summary) без раскрытия секретов и данных заказчика.
Что нужно от заказчика: конфиги, логи Celery/Redis, описание симптома и частоты проблемы, окружение/ограничения.