Рубрика «httpx»

В FastAPI можно объявить обработчик как async def, а можно как обычный def. Многие ставят async везде «потому что так быстрее» и спокойно вызывают внутри requests.get() или синхронный драйвер БД. Сервис при этом работает, тесты проходят, а на первой же реальной нагрузке всё встаёт колом, причём вместе с health‑check'ом.

В статье разберу, что на самом деле происходит с каждым вариантом, покажу замеры и дам короткую шпаргалку, какой вариант выбирать.

Как FastAPI выполняет обработчики

Правило одно, но из него следует всё остальное.

Мы проверили - ни одной статьи на эту тему нет. Ни на Хабре, ни на GitHub. Albato умеет Tilda + СБИС CRM, но не Presto. CommerceML нестабилен. Кастомный сервис — единственный рабочий путь.

Клиент пришёл с простой задачей: заказы с сайта на Tilda должны автоматически попадать в СБИС Presto. Казалось бы, популярные инструменты — должно быть готовое решение. Его не оказалось.

Написали свой сервис месяц в продакшене, всё работает. Рассказываем как — с кодом, граблями и объяснением неочевидных мест в документации СБИС.

Стек: Python, FastAPI, Pydantic, httpx, cachetools.

Читать полностью »

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js