Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
#Samarqand
📌Past Darg‘om tumanida hunarmandchilikni rivojlantirish bo‘yicha amalga oshirilayotgan ishlar yuzasidan tuman “Hunarmand” uyushmasi raisi Xurshid Kazakov xalq deputatlari Past Darg‘om tumani Kengashi deputatlariga hisobot berdi.
⚡️Qayd etilishicha, Vazirlar Mahkamasining 2022-yil 11-maydagi 252-son qaroriga muvofiq, Aholini tadbirkorlikka jalb qilish jamg‘armasi mablag‘lari hisobidan “Usta–shogird” maktabini tashkil etgan hunarmandlarga subsidiya ajratilmoqda.
📊Viloyat mahallabay ishlash boshqarmasi tomonidan 13 nafar shogird uchun jami 75 mln so‘m miqdorida subsidiya ajratilib, ushbu mablag‘lar shogirdlarni tayyorlash hamda xomashyo xarid qilishga yo‘naltirildi.
📊Mazkur ko‘mak hunarmandlarning moliyaviy barqarorligini mustahkamlash, ishlab chiqarish hajmini oshirish hamda yoshlarni kasb-hunarga o‘rgatishga xizmat qilmoqda.
➡️Shuningdek, tumanda hunarmandchilik mahsulotlarini sotish uchun 20 dan ortiq hunarmand savdo rastalariga joylashtirildi. Bu esa hunarmandlar daromadini oshirish va ichki bozorda milliy mahsulotlarga bo‘lgan talabni kengaytirishga xizmat qilmoqda.
Faсebook|
✅Instagram
✅Youtube |
✅Murojaat yo'llash
1️⃣
2️⃣
3️⃣
4️⃣
5️⃣
6️⃣
#Samarqand
🌱Tomorqa va ijara yerlaridan samarali foydalanish bo‘yicha seminar o‘tkazildi
📍Toyloq tumani "Sariosiyo" mahallasida ijara va tomorqa yerlaridan samarali foydalanish hamda ularga In-vitro usulida mevali daraxt ko‘chatlari ekish bo‘yicha amaliy seminar tashkil etildi.
✔️Unda Kambag‘allikni qisqartirish va bandlik vazirining birinchi o‘rinbosari M. Jurayev, Samarqand viloyati Kambag‘allikni qisqartirish va bandlik boshqarmasi boshlig‘i R. Mahqulov, senator Sh. Sharipov, Toyloq tumani hokimi B. Raxmatullayev, tuman hokimining o‘rinbosarlari, nuroniylar, qishloq xo‘jaligi sohasi vakillari, mahallalardagi hokim yordamchilari, ijara yer egalari hamda tomorqa yer egalari ishtirok etdi.
Tadbir davomida tomorqa va ijara yerlaridan samarali foydalanish, zamonaviy agrotexnologiyalarni joriy etish, xususan, In-vitro usulida yetishtirilgan ko‘chatlarni ekish orqali hosildorlikni oshirish, aholi daromadlarini ko‘paytirish hamda bandlikni ta’minlash masalalari yuzasidan tavsiyalar berildi.
Sayt | Telegram| Facebook | Instagram| Youtube| X
04.12.2023/19.45
#Samarqand
HOKIMIYAT IJARA SHARTNOMASINI BUZMASDAN BINONI TORTIB OLMOQCHIMI?
Muxbir: Chingiz NORQULOV
BIZNI KUZATISHDA DAVOM ETING👇
https://t.me/zortv_bukun
30.11.2023/09.00
#Samarqand
TALABLAR BAJARILMASA QURILAYOTGAN BINO BUZILADI
Muxbir: Chingiz NORQULOV
BIZNI KUZATISHDA DAVOM ETING👇
https://t.me/zortv_bukun
28.11.2023/09.00
#Samarqand
YONG'INGA QARSHI KURASH OYLIGI DAVOM ETMOQDA
Muxbir: Chingiz NORQULOV
BIZNI KUZATISHDA DAVOM ETING👇
https://t.me/zortv_bukun