TGViewer
C# Portal | Программирование C# Portal | Программирование @kodblog · 13K subscribers
Post #2438 633
Один API-запрос на несколько минут создаёт проблемы всем.

Пользователь смотрит на индикатор загрузки, сервер держит соединение открытым, а балансировщик или прокси может оборвать запрос по тайм-ауту. Повторные попытки только усугубляют ситуацию.

Решение — изменить подход к обработке долгих задач:

• Принять задачу и сразу вернуть 202 Accepted со ссылкой для проверки статуса.
• Выполнить тяжёлую работу в фоновом обработчике.
• Позволить клиенту опрашивать статус или получить уведомление о готовности результата.

Теперь отчёт, который формируется пять минут, не требует держать HTTP-запрос открытым всё это время. API остаётся отзывчивым, а фоновые обработчики можно масштабировать независимо от веб-серверов.

Длительная задача — это ресурс, который вы создаёте и отслеживаете, а не ответ, которого нужно ждать в открытом соединении.

👉 @KodBlog
  • ❤ 2
More from @kodblog
  1. Oct 4, 2026Пишете код каждый день? Помните о пяти вещах: • Сначала добейтесь, чтобы код работал. • За…
  2. Oct 4, 2026Хватит возвращать BadRequest("какая-то строка") Когда каждый эндпоинт возвращает ошибки в…
  3. Oct 3, 2026Health Checks в .NET — два вызова методов • AddHealthChecks() регистрирует необходимые сер…
  4. Oct 3, 2026Ваш API отвечает пять минут? Это уже захват заложников Пользователь смотрит на индикатор з…
  5. Oct 2, 2026Архитектура ПО — это просто?.. Объединяйте связанные концепции, и приложения станут лучше.…
  6. Oct 2, 2026Union types в C# 15 Годами разработчики C# имитировали union types — типы-объединения — че…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →