TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #425 · 20 апр.

Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках. Выглядело это примерно так: 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

Hashtags

Резултати

Пронајдени 1 слични објави

Пребарај: #onlinevolunteering

当前筛选 #onlinevolunteering清除筛选

🌍How to Become a UN Online Volunteer? #☀️Hayirli yakshanba, do‘stlar! Bilasizmi, siz BMT’ga dunyoning istalgan joyidan turib, onlayn ko‘ngilli (Volontyor) sifatida hissa qo‘shishingiz mumkin? 🙌 📌Jarayon juda sodda: 1️⃣https://www.unv.org/become-online-volunteer saytiga kiring va ro‘yxatdan o‘ting. 2️⃣ Profilingizni to‘ldiring – til, IT, yozish, tarjima, dizayn yoki boshqa ko‘nikmalaringizni yozing. 3️⃣ Qiziqgan loyihangizni tanlab, ariza yuboring. 4️⃣ Qabul qilinsangiz – tashkilot bilan bevosita onlayn ishlaysiz. 5️⃣ Vazifani bajargach, sizga BMT sertifikati beriladi! 🎓✨ 📌Ma’lumot uchun: eng so‘ngi loyihalar bilan quyidagi havola orqali tanishishingiz mumkin! 👉https://app.unv.org/ ✅ Bu tajriba nafaqat professional portfoliongizni boyitadi, balki global o‘zgarishga ham hissa qo‘shasiz! 🌐 🎓 Ayniqsa, universitetda tahsil olayotgan talabalar uchun bu katta tajriba va imkoniyatdir! ✈️https://t.me/ShM_DiplomaticMind #UNVolunteer#OnlineVolunteering#GlobalYouth#SoftPower#Diplomacy