Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
#qadriyat
Milliy liboslar kuni koʻtarinki ruhda davom etmoqda
Mazkur tashabbus orqali jamoada milliy qadriyatlarimizga boʻlgan hurmat va eʼtibor yanada mustahkamlanmoqda.
👇Bizni kuzating:
🌐web-sayt | 📷instagram | 👉telegram | ▶️youtube | 💬facebook
#qadriyat
MILLIY QADRIYATLAR — MILLAT KO’RKI!
👩Haftaning har jumasi "Milliy liboslar kuni" etib belgilangan.
🇺🇿 Toshkent shahrining Yashnobod tumanida joylashgan
(TIUE-Tashkent International University of Education)da “Milliy Toshkent” loyihasi doirasida “Milliy liboslar maʼnaviyat ko‘zgusi" nomli keng qamrovli madaniy-ma’rifiy tadbir tashkil etildi.
🎩👩🖼👩🖼👩🎩
Tadbir davomida milliy liboslar namoyishi, amaliy san’at va hunarmandchilikka oid ko‘rgazmalar, ijodiy chiqishlar hamda milliy an’analarimizni o‘zida aks ettirgan badiiy kompozitsiyalar ishtirokchilarga yuqori kayfiyat ulashdi.
✅TELEGRAM
🌐INSTAGRAM
#navro'z #qadriyat
Qadrli yurtdoshlar!
Bahor yarashgan go‘shalaringizda doimo yashillanish, o‘sish, ulg‘ayish bo‘lsin. Orzularingiz bahorda bo‘y cho‘zgan niholdek o‘sib o‘z mevasini bersin. Tinchlik yarashgan, to‘y yarashgan yurtimiz ostonalarida erta tong quyosh bilan birga baxt kirib kelsin. Kelajagi yorug‘ vatanimizda har bir kishining yuzi vatan oldida yorug‘ bo‘lsin. O‘z mehnatidan rozi elning ko‘ngliga doimo yaxshiliklar, omadlar bahordek kirib borsin. Azizlar har kuningiz Navro‘z bo‘lsin.
Hurmat bilan Davlat va huquq instituti jamoasi.
#Chilonzor
#Xayrobod
#NamunaliKelin
#Oila
#Qadriyat
Mahallaning eng namunali kelinlari aniqlandi!
“Xayrobod” mahalla fuqarolar yig‘inida xotin-qizlar o‘rtasida milliy qadriyatlarimizni ulug‘lovchi “Mahallaning namunali kelini” ko‘rik-tanlovi bo‘lib o‘tdi.
Tadbirda mahallaning kayvoniy onaxonlari va mahalla faollari ishtirokida kelinlarning uy-ro‘zg‘or tutumi, oiladagi odob-axloqi, farzand tarbiyasi va milliy an’analarimizga bo‘lgan hurmati sinovdan o‘tkazildi.
Bellashuv yakunlariga ko‘ra:
✅ O‘zining zukkoligi va epchilligi bilan ajralib turgan, mahalla hayotida o‘rnak bo‘layotgan g‘olib kelinlar aniqlandi.
Tadbir yakunida tanlov g‘oliblari, shuningdek, mahallaning ibratli qaynonalari va namunali qizlari tashkilotchilar tomonidan faxriy yorliq hamda esdalik sovg‘alari bilan tantanali ravishda taqdirlandilar.
Bu kabi tadbirlar mahallamizda oilaviy totuvlikni mustahkamlash va yosh kelinlar o‘rtasida sog‘lom raqobat muhitini shakllantirishga xizmat qilmoqda.
🔵 Сhilonzor_tumani_hokimligi