Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
🇬🇧 New destination alert! TezJet is now flying directly from Bishkek to Delhi.
✈️ Starting 7th December 2025, every Sunday
www.flytezjet.com
#TezJet#BishkekToDelhi#DirectFlights#FlyTezJet#TravelWithTezJet#DelhiBound#NewRoute
🇷🇺 Новая направление! TezJet теперь летает напрямую из Бишкека в Дели.
✈️ Старт рейса: 7 декабря 2025 года, каждое воскресенье
www.flytezjet.com
#TezJet#BishkekToDelhi#DirectFlights#FlyTezJet#TravelWithTezJet#DelhiBound#NewRoute
✈️ BIG NEWS! TezJet is taking off to Moscow, Russia 🇷🇺
📍 Direct flights from Bishkek (FRU) to Moscow Domodedovo (DME)
📅 Launching 21 August 2025
🕕 Departure from Bishkek: 06:20 AM
🕖 Arrival in Moscow: 07:50 AM
📅 Operating 3 times a week:
➡️ Monday
➡️ Thursday
➡️ Saturday
🚀 Experience the comfort of our MD-83 aircraft as you fly direct to the heart of Russia. Whether it’s business, family, or adventure—Moscow is calling!
🎟️ Tickets are now on sale at www.flytezjet.com
Don't miss the first flight—book your seat now!
#TezJetAirlines
#TezJetToMoscow#MoscowFlights#TezJetAirlines#FlyTezJet#BishkekToMoscow#NewRoute#TravelWithTezJet
✈️ BIG NEWS! TezJet is taking off to Moscow, Russia 🇷🇺
📍 Direct flights from Bishkek (FRU) to Moscow Domodedovo (DME)
📅 Launching 21 August 2025
🕕 Departure from Bishkek: 06:20 AM
🕖 Arrival in Moscow: 07:50 AM
📅 Operating 3 times a week:
➡️ Monday
➡️ Thursday
➡️ Saturday
🚀 Experience the comfort of our MD-83 aircraft as you fly direct to the heart of Russia. Whether it’s business, family, or adventure—Moscow is calling!
🎟️ Tickets are now on sale at www.flytezjet.com
Don't miss the first flight—book your seat now!
#TezJetToMoscow#MoscowFlights#TezJetAirlines#FlyTezJet#BishkekToMoscow#NewRoute#TravelWithTezJet
🍞Гастромаршрут «Хлеб да соль земли Новогрудской» – это не только хлеб, но и зрелища!
Пройти по старинному городу, заглянуть в антикварную лавку на подступах к замку, выпить авторский кофе в костёле Святого Архангела Михаила, узнать историю любимого белорусского поэта Адама Мицкевича на театрализованной экскурсии, подняться на 35-метровую высоту старейшего костела Беларуси — костела Св.Казимира, спуститься с возвышенной душой и испечь ржаной хлеб на закваске в Казимировском Доме и конечно отдохнуть с французским шиком в экоусадьбе «Лавандовый сад» под пение птиц, хруст багета и со вкусом крафтовых сыров.
Узнать больше о маршруте и стать обладателем уникального чемоданчика 👉@visitNavahrudak
г. Новогрудок, пл. Ленина, 7, ТИЦ г. Новогрудка.
📱🎞Vkontakte
📱🎞Instagram
#познайбеларусь#новогрудок#маршруты#belarustravel#newroute#food#belarus
При использовании фото и материалов просьба отмечать @natbelarus (нам тоже нравится, что вам нравится) 😊🌿🙌
#познайбеларусь#гастротуризм#новогрудок
If you are going to visit Doha, you can use this selection of attractions that are worth visiting:
◽Museum of Illusions
◽Gondolania Theme Park & Villaggio Mall
◽The Pearl Island
◽Souq Waqif
◽Simaisma Beach
✈️ P.S. We will operate flights to Doha once a week: on Thursdays.
☎️ Tel.: 44-640-40-49, 44-640-40-50, 1133.
🌊
Если Вы собрались в Доху, Вам не помешает эта подборка достопримечательностей, которые стоит посетить:
◽Музей Иллюзий
◽Тематический парк Gondolania и Торговый центр Villaggio
◽Набережная The Pearl Island
◽Рынок Souq Waqif
◽Пляж Simaisma Beach
✈️ P.S. Мы будем совершать полёты в Доху раз в неделю: по четвергам.
☎️ Тел.: 44-640-40-49, 44-640-40-50, 1133.
#somonair#doha#qatar#newroute#сомонэйр#доха#катар#новыйрейс