Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
📉 So‘m mustahkamlanmoqda, dollar kursi esa pasaymoqda. Bunga nima sabab bo‘lyapti va Eron atrofidagi geosiyosiy o‘zgarishlar valyuta bozoriga qanday ta’sir qilmoqda?
📎 Batafsil maqola: https://yep.uz/uz/2025/06/dollar-kursi-va-eron-ta-siri-ozbekistonda/
#O‘zbekiston #DollarKursi#So‘m #Eron#Geosiyosat#Iqtisodiyot#ValyutaBozori#Tahlil
📢OPEN LECTURE ANNOUNCEMENT
Dear students, professors, and university staff!
Join us on April 9, 2026, at 14:00 for an engaging open lecture by Sherzod Ziyoyev, Senior Lecturer of the Department of Foreign Languages, historian and political scientist.
🎓Topic:
“Strategic Importance of the Modern Silk Road Projects and Transit Routes for Eurasian Land Countries”
🌍The lecture will explore the history, evolution, and current relevance of the modern Silk Roads — a must-attend for anyone interested in geopolitics, history, and regional development.
🗣Languages: Uzbek & English
📍Venue: University Conference Hall
💪Don’t miss this opportunity to gain valuable insights!
#OpenLecture#SilkRoad#Eurasia#Geopolitics#GreenUniversity#StudentLife _________________________
📢OCHIQ MA’RUZA E’LONI
Hurmatli talabalar, professor-o‘qituvchilar va universitet xodimlari!
Sizlarni 2026-yil 9-aprel kuni soat 14:00 da bo‘lib o‘tadigan ochiq ma’ruzaga taklif qilamiz. Ma’ruzachi — Xorijiy tillar kafedrasi katta o‘qituvchisi, tarixchi va siyosatshunos Sherzod Ziyoyev.
🎓Mavzu:
“Zamonaviy Ipak yo‘li loyihalari va tranzit yo‘nalishlarining Yevroosiyo quruqlik mamlakatlari uchun strategik ahamiyati”
🌍Ma’ruza davomida zamonaviy Ipak yo‘lining tarixi, rivojlanishi va bugungi kundagi ahamiyati haqida so‘z yuritiladi. Ushbu mavzuga qiziqqan barcha ishtirok etishga taklif etiladi.
🗣Tillar: o‘zbek va ingliz
📍Manzil: Universitet konferensiya zali
💪Foydali bilimlar olish imkoniyatini qo‘ldan boy bermang!
#OchiqMaruza#IpakYoli#Yevroosiyo#Geosiyosat#GreenUniversity#TalabalarHayoti
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube