Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
#Ro‘yxatga_olish_2026
Ish joyida ro‘yxatdan o‘tish mumkinmi?
O‘zbekiston Respublikasi Prezidentining 2025 yil 19 sentyabrdagi “O‘zbekiston Respublikasida aholi va qishloq xo‘jaligini ro‘yxatga olish tadbirini o‘tkazish to‘g‘risida”gi PF-173 son farmonida davlat organlari va tashkilotlari 2026 yil 15 yanvardan 31 yanvarga qadar o‘z tizimida faoliyat yuritayotgan barcha xodimlarning census.stat.uz portalida ro‘yxatdan o‘tishini ta’minlashi belgilangan.
✅ Ro‘yxatga olish jarayoni 2 bosqichda tashkil etiladi.
👉Batafsil
👇Bizni kuzating:
🌐web-sayt | 📷instagram | 👉telegram | ▶️youtube | 💬facebook
В России стало на две социальные сети меньше, но появилась отличная альтернатива — новая соцсеть ro:, в которой вы помогаете благотворительности просмотрами рекламы.
«Константа» стала одним из дружественных благотворительных фондов новой соцсети!
ro: это сообщество эмпатичных людей, которым важно менять мир к лучшему. Присоединяйтесь к бета-версии социальной сети по инвайт-ссылке от нашего фонда: https://links.ro.charity/link/av
Заходите посмотреть и cделать мир добрее в эти непростые времена.
#ФондКонтстанта#ro: #Поможем!
🇯🇵RO — стильная Азия с видом на Мойку
Ресторан с современной азиатской кухней, где дизайн и кухня работают в тандеме. Интерьер построен на сочетании дерева и панорамных окон, а японская роспись на стене добавляет месту характер и глубину.
Что стоит попробовать:
🥦Кушияки с брокколи — невероятно нежные в фирменном соусе
🍜Лапша с лососем — большая порция, которая отлично насыщает
🍹Авторские коктейли от шеф-бармена — с использованием напитков и трав Азии
📍 наб. реки Мойки, 44 (м. Адмиралтейская)
🕐 Ежедневно: 10:00–23:00
💳 Средний чек: 1800 ₽ (без напитков)
🔗 Подробнее на сайте: https://rorestaurant.ru/
#азиатскаякухня#адмиралтейская#кудасходитьвпитере#ro
Твоя ежедневная афиша: концерты, выставки, прогулки и не только — в Куда сходить в Санкт-Петербурге.
🌍ADCYOUTH SUMMIT 2025 🚀
Siz yilning eng yirik yoshlar anjumaniga tayyormisiz? 🔥ADC YOUTH SUMMIT 2025 – bu o‘z g‘oyalaringizni namoyon qilish, jamoa bilan ishlash va kelajakni o‘zgartirishga tayyor bo‘lgan tengdoshlaringiz bilan uchrashish imkoniyati!
💡Sizni nimalar kutmoqda?
✅ Jamoaviy ishlash bo‘yicha bebaho tajriba
✅ Liderlik va strategik fikrlash ko‘nikmalarini oshirish
✅ Yangi tanishuvlar va foydali aloqalar
✅ Katta o‘zgarishlarga ilk qadam qo‘yish imkoniyati!
⏳Jamoalarni ro‘yxatdan o‘tkazishning oxirgi muddati – 2025-yil 10-mart!
Orqaga surmang – jamoangizni yig‘ing va hoziroq ro‘yxatdan o‘ting!
📌Dunyo o‘zgarishini boshlaydiganlardan bo‘ling!
🔗Ro‘yxatdan o‘tish uchun: 742261078 (Telegram: @admofadc)
📱Telegram | 📱Instagram | 📱Facebook | 📱TikTok | 📱YouTube | 📱Website
#ADCYouthSummit2025#Yoshlar#Liderlik#Ilhom#Ro‘yxatdanO‘tishBoshlandi