Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
🏹Arrow – tovushdan tez uchuvchi dunyodagi ilk dron.
Singapurning Kelley Aerospace aviatsiya kompaniyasi o‘zining Arrow jangovar dronini taqdim qildi va 100dan ortiq buyurtmalar tushganini tasdiqladi.
Fantast yozuvchilar bashorat qilganidek pilotsiz jangovar dronlar borgan sari tezkorroq va kuchliroq bo‘lib bormoqda.
Ular bir-biri bilan jang qilishga o‘rganib, eskiroq modellarni yo‘q qilyapti. Boshqacha aytganda, mashhur «Terminator» filmidagi to‘qima Skynet tobora reallashib bormoqda.
Ko‘pmaqsadli jangovar pilotsiz Arrow 2,1 Max tezligiga erishishi (2570 km/s) va 16800 parvoz vazni bilan 4810 kilometrni bosib o‘tishi mumkin.
Bir dona Arrow’ning bahosi komplektatsiyasiga qarab 9-16 million dollar orasida bo‘ladi.
Bugunga kelib, Singapurning Seletar aerokosmik parkida Arrow’ni to‘laqonli ishlab chiqarishga o‘tishga tayyorgarlik ko‘rishmoqda
👉@TheDailyUz — #TheTech
🔄🔄🔄 Наши коллеги из Казахстана @thetechkz выпустили статью про нашего Управляющего партнера и Заместителя генерального директора UzVCАбдулазала Тошхужаева с заголовком "о новых приоритетах венчурного рынка" , с которой можете ознакомиться по ссылке ниже 👇
————
🔄🔄🔄 Qozog'istonlik hamkasblarimiz @thetechkz dan UzVC Boshqaruvchi sheriki va Bosh direktor o’rinbosari Abdulazal Toshxo'jayev haqida "venchur bozorining yangi ustuvorliklari to'g'risida" sarlavhali maqola chiqardilar, quyidagi havola orqali tanishishingiz mumkin 👇
————
🔄🔄🔄 Our colleagues from Kazakhstan @thetechkz have published an article about our Managing partner and Deputy CEO at UzVC, Abdulazal Toshkhujaev, with the headline "on new priorities of the venture market", which you can read at the link below 👇
————
https://the-tech.kz/kak-najti-investora-upravlyayushhij-partner-uzvc-abdulazal-toshhuzhaev-o-novyh-prioritetah-venchurnogo-rynka/
🌐Website |📷Instagram |🌐LinkedIn
#TheTech#VentureMarket
Exciting Announcement: The Tech Joined Us as a Media Partner!
We are proud to welcome The Tech as an official media partner of the MDC Uzbekistan. This partnership marks the beginning of an exciting collaboration to support all our initiatives, including hackathons, conferences, and other key events.
With The Tech’s support, we’re set to expand our reach and inspire even more developers across Central Asia. Together, we’ll continue building a stronger tech community!
#MicrosoftDevelopersCommunity#TheTech#MediaPartner#TechEvents#MicrosoftUzbekistan
@mdcuzbekistan
ITCOMMS в списке ведущих агентств по версии The Tech 🚀
Издание The Tech собрало лучшие агентства, которые умеют не просто "делать PR", а по-настоящему продвигать IT-компании на локальных и международных рынках.
В подборке – сильные команды из СНГ и Центральной Азии, и нам особенно приятно видеть среди них ITCOMMS 🙌
Мы благодарны The Tech за признание и продолжим делать то, что умеем лучше всего: помогать технологичным командам стать заметнее, понятнее и ближе к своей аудитории.
📰Читайте полный список на сайте The Tech:
https://the-tech.kz/reklamnye-agentstva-kotorye-pomogayut-prodvigat-it-kompanii/
#ITCOMMS#PRдляIT#TheTech#PR#технологии#коммуникации#экспертиза#регион#агентства#B2B#digitalCentralAsia