Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
from fastapi.concurrency import run_in_threadpool
async def execute(data: DataRequest) -> DataResponse:
try:
result = await run_in_threadpool(sync_function, data)
return DataResponse(data=result)
except Exception as e:
return DataResponse(
error=str(e),
success=False,
)
В общем работает нормально. Для всех вызовов под капотом используется общий тредпул, всё работает предсказуемо.
Но потребовалось изменить количество запускаемых в пуле потоков (по умолчанию создается 40 воркеров).
Так как дело происходит с FastAPI, делается это через lifespan используя настройки anyio:
import anyio
@asynccontextmanager
async def lifespan(app: FastAPI):
limiter = anyio.to_thread.current_default_thread_limiter()
limiter.total_tokens = 100
yield
# если вдруг нужно вернуть обратно
limiter.total_tokens = 40
Зачем менять количество воркеров?
- уменьшить, если оперативки мало (один тред занимает ~8мб)
- увеличить чтобы выдержать нагрузку
Если есть предложения получше при тех же вводных - предлагайте😉
#async
Belgrado trattiene il respiro: scorre il Danubio, ma ribolle il Večiti Derby.
Partizan e Stella Rossa, odio e passione, cori e caos.
Divisi dal calcio, uniti da Fede, identità e Serbia.
Qui il risultato conta, ma non è tutto: prima la Fede, poi le squadre.
#ultras#hooligans#derby#polizia#belgrado
🇦🇷Rosario
⚔️Rosario Central 1-0 Newells Old Boys
🔥Classico Rosarino
Тут всяческое описание излишне, просто обстановка на стадионе за несколько минут до начала дерби в Росарио.
#RosarioCentral#Ultras#Hooligans#Pyro#Argentina
📍Montevideo🇺🇾
⚽️ Penarol 1-0 Central Espanol
🏆 Copa de la Liga
🏟️ Campeon del Siglo
📆 13.01.2026
Потихоньку страны Южной Америки просыпаются от межсезонья. Уругвайцы вот с Копа де ла Лига стартуют, формат на выбывание, так что скоро уже и финал увидим. А вчера «Пеньяроль» вышел в четвертьфинал, туго и лишь благодаря серии пенальти. Гораздо лучше выступили их фанаты. Barra Amsterdam окрасили свою трибуну густыми дымами в цветах клуба попутно отшизив за всю хурму.
#Penarol#Ultras#Hooligans#Pyro#BarraAmsterdam#Uruguay
😉
😍
😛
😉
😛
😉
😚
😉
😉
⚽️
Салют, паровозная братва и дорогие коллекционеры!
Давняя задумка наконец-то материализовалась! Встречаем весьма не простой новый значок, идейно и мысленно заряженный пассионариями Л-3516, в коллаборации наших проектов!
Огненная ярость и пламенный задор вселились в фаерок, и теперь он готов делиться своим светом и теплом с каждым, кто прикасается к нему, без остатка. Коль уж гореть, то гореть сгорая!🔥
🔴Мягкая эмаль.
🟢Чёрный крашенный металл.
🔴Эмаль, меняющая цвет при нагреве!🚂
🟢Размер 30мм в высоту.
🔴Крепление на 2 цангах.
🟢Сумасшедшее оформление и дополнение в виде двух крутых стикеров, фирменного коробка спичек🔥(для коллекционеров коробков зайдёт точно) и ещё одной бонусной наклейки.
🔴Вместе со значком идёт уважение от создателей каждому обладателю! А это важно!
🟢Демократичнаяценаданного релиза - 800р.
🔴ДоставкаЯндекс и почта России.
🟢No bron’
😉🚂
За значкомвсем активным паровозам, коллекционерам и тем, кому пиротехника на секторах была в радость, welcome в лс@motorscraft✉️
❗️
И ещё. Для тех, кто носит значки, всегда есть в наличии антивандальные крепления. Спрашивайте 👌
Подписывайтесь на Телеграм канал и не пропускайте новые релизы
😉
#значки#фалеристика#футбол#локомотив#локо#фклм#фклокомотив#fclm#fclokomotiv#oldschool#ultras