Python Web & Scripts — Django, FastAPI, скрипты

Starlette часто берут как “лёгкий FastAPI”, а потом теряют время на базовых настройках

Starlette хорош там, где нужен тонкий контроль над ASGI: свои роуты, middleware, background tasks, WebSocket, стриминг. Но именно из-за этой свободы ошибки всплывают быстро — особенно если проект растёт из одного сервиса в несколько.

Что проверять сразу:
— не тащить тяжёлую логику в endpoint: вынесите её в сервисы и фоновые задачи
— явно настраивать middleware: порядок важен, особенно для CORS, сессий и логирования
— для длинных ответов использовать StreamingResponse, а не собирать всё в память
— не смешивать WebSocket и обычный HTTP в одной “куче” кода без слоя абстракции

Отдельно следите за обработкой ошибок. В Starlette удобно повесить свой exception handler, но если он молча глотает детали, отладка превращается в квест. Лучше возвращать единый формат ответа и отдельно логировать контекст запроса.

Ещё одна типовая ловушка — тесты. Если приложение собирается из middleware, dependency-like функций и фоновых задач, проверяйте не только код ответа, но и побочные эффекты: заголовки, записи в лог, запуск задач, закрытие соединений.

Если нужен минимальный ASGI-слой без магии — Starlette отличный выбор. Но его сила раскрывается только тогда, когда архитектура остаётся явной: где запрос обрабатывается, где живёт бизнес-логика, и что именно делает middleware.
Этот пост опубликован в Telegram-канале Python Web & Scripts — Django, FastAPI, скрипты. Подписаться можно по ссылке: @python_web_scripts.
tech

Свежие посты в категории «Сервисы и инфраструктура»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.