Выгрузка двух миллионов операций для бухгалтерии не укладывается в таймаут шлюза
Бухгалтерия запрашивает GET /reports/transactions?month=2026-08. Формирование занимает 4–7 минут, API-шлюз обрывает запросы через 60 секунд, пользователь получает 504 и нажимает кнопку ещё раз — запускается второе формирование.
Как спроектировать контракт?
- POST → 202 с id задачи, статус и файл по ссылке
- Поднять таймаут шлюза до 10 минут
- Отвечать 200 сразу и слать файл на почту
- Разбить отчёт на 2 000 синхронных запросов
