Индексация документов, пакетная обработка, генерация отчётов занимают минуты. Держать HTTP-запрос открытым столько нельзя: запрос ставят в очередь, отвечают «принято», а воркер выполняет задачу в фоне.
Что важно знать
- Инструменты: Celery, arq, Dramatiq, RQ поверх Redis или RabbitMQ; для потоков событий — Kafka.
- Повторы с экспоненциальной паузой и пределом; после исчерпания — очередь «мёртвых» задач.
- Идемпотентность: повторная обработка не должна дублировать результат и счёт за модель.
- Ограничение параллельности — под лимиты провайдера.
- Статус задачи для клиента: опрос, вебхук или уведомление.