Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
#Foto va videoreportaj
⚡️Samarqandda o‘tkazilayotgan SITESning 20-konferensiyasi: bioxilma-xillikni saqlashda xalqaro hamkorlik 2025-yil 24-noyabrda Samarqandda 184 mamlakatdan 3000 dan ziyod vakil ishtirok etayotgan SITESning 20-konferensiyasi o‘z ishini boshladi. Konferensiyaning asosiy mavzulari - bioxilma-xillikni asrash va yo‘qolib ketish xavfi ostidagi turlar bilan xalqaro savdoni tartibga solish masalalari.
✅CITES COP20 ning ochilishi 12 kunlik keng qamrovli dasturga yo‘l ochdi. Bu dastur yalpi majlislar, Konvensiya ilovalariga o‘zgartirish kiritish bo‘yicha takliflarni muhokama qilish va mavzuli tadbirlarni o‘z ichiga oladi.
Konferensiya atrof-muhitni muhofaza qilish sohasida tajriba almashish va birgalikdagi strategiyalarni ishlab chiqish uchun noyob imkoniyat yaratib, global ekologik muammolarni hal etishda xalqaro hamkorlikning ahamiyatini oshiradi.
✅Konferensiyada Qoraqalpoq tabiiy fanlar ilmiy-tadqiqot instituti direktori, professor Svetlana Mambetullayeva va bo'lim xodimlari ishtirok etmoqda.
😎Telegram |🌐Websayt
😎Facebook |😎YouTube|😎Instagram
#Foto va video reportaj
☄️“YEVROSIYO BIOXILMA-XILLIGINI SAQLASH: ZAMONAVIY MUAMMOLAR, YECHIMLAR VA ISTIQBOLLAR”
Nukus shahrida Qoraqalpoq tabiiy fanlar ilmiy-tadqiqot institutida (Qoraqalpog‘iston Respublikasi, O‘zbekiston) "Yevrosiyo bioxilma-xilligini saqlash: zamonaviy muammolar, yechimlar va istiqbollar" mavzusidagi III Xalqaro konferensiya bo‘lib o‘tdi.
Konferensiya Qoraqalpoq tabiiy fanlar ilmiy-tadqiqot instituti tomonidan tashkil etildi.
Ushbu konferensiyaning asosiy maqsadi Yevrosiyoda bioxilma-xillikni saqlab qolishning dolzarb muammolarini, o‘simliklar va hayvonot dunyosini muhofaza qilish, ulardan barqaror foydalanish va monitoring o‘tkazish asoslarini muhokama qilishdir.
Konferensiyada Andijon davlat universiteti (O‘zbekiston), Ege universiteti (Turkiya), Boku davlat universiteti (Ozarbayjon), shuningdek O‘zbekiston va Qoraqalpog‘iston Respublikasining oliy o‘quv yurtlaridan olimlar, tadqiqotchilar va doktorantlar ishtirok etdi. Ular orasida nufuzli ilmiy markazlar rahbarlari, akademiklar va professorlar bor.
Ushbu tadbir Qoraqalpog‘iston ilmiy salohiyatining xalqaro nufuzini yanada oshiradi, hamkor davlatlar o‘rtasida ilmiy aloqalarni mustahkamlaydi va yangi innovatsion loyihalar uchun mustahkam asos yaratadi.
😎Telegram |🌐Websayt
😎Facebook |😎YouTube|😎Instagram
#Foto
"Solo es entender en manos de quien estas para salir del proceso"
Pueden dejar sus comentarios 📝 y reacciones👍🙏🔥
Suscríbete👇👇👇
🔎@Escud_delasEscrituras📖