Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
4️⃣4️⃣4️⃣3️⃣3️⃣3️⃣
🇺🇿Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi Rossiyaning RANXiGS oliygohi bilan hamkorligidagi 3+1, "Ikki diplom" magistratura dasturiga hujjatlar qabul qilishni davom ettirmoqda.
📄Format: 2 yillik dastur — 3 semestr Toshkentda sirtqi shaklda va 1 semestr Moskvada.
📃 Nomzodlar https://e-tinglovchi.gsbe.uz/ qabul platformasi orqali hujjatlarni yuborishlari mumkin
🗓 Hujjatlarni topshirish muddati: 2024-yil 8-noyabrgacha.
📞 Maʼlumot uchun telefon: +99871 239-03-02
________________________________________________
🇺🇿 Высшая школа бизнеса и предпринимательства при Кабинете Министров Узбекистана совместно с РАНХиГС продолжают прием на уникальную магистерскую программу 3+1 «Два диплома».
🗂Формат:2 года обучения — 3 семестра заочнов Ташкенте и 1 семестр в Москве.
📃 Кандидаты могут подать заявку через платформу приема https://e-tinglovchi.gsbe.uz/
🗓️Подача документов: до 8 ноября 2024 года.
📞 Телефон для справок: +998 71 239-03-02
#GraduateSchool#Study#Ranepa#Dual
🔝Web-site |🔝Facebook |🔝Instagram | 🔝Youtube
4️⃣4️⃣4️⃣3️⃣3️⃣3️⃣
🇺🇿Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi Rossiyaning RANXiGS oliygohi bilan hamkorligidagi 3+1, "Ikki diplom" magistratura dasturiga hujjatlar qabul qilishni davom ettirmoqda.
📄Format: 2 yillik dastur — 3 semestr Toshkentda sirtqi shaklda va 1 semestr Moskvada.
🎓Diplomlar:
🔣Menejment (RANXiGS)
🔣 MBA - Korporativ boshqaruv va biznesni strategik rivojlantirish (Oliy maktab).
📃 Nomzodlar https://e-tinglovchi.gsbe.uz/ qabul platformasi orqali hujjatlarni yuborishlari mumkin
💼 Kontrakt narxi: yiliga 2000$.
🗓 Hujjatlarni topshirish muddati: 2024-yil 8-noyabrgacha.
📞 Maʼlumot uchun telefon: +99871 239-03-02
Ikki xalqaro diplomga ega bo‘ling va kareringizni davom ettiring!
_________________________________________________
🇺🇿 Высшая школа бизнеса и предпринимательства при Кабинете Министров Узбекистана совместно с РАНХиГС продолжают прием на уникальную магистерскую программу 3+1 «Два диплома».
🗂Формат:2 года обучения — 3 семестра заочнов Ташкенте и 1 семестр в Москве.
🎓Дипломы:
🔣Магистр менеджмента (РАНХиГС)
🔣 MBA — Корпоративное управление и стратегическое развитие бизнеса (Высшая школа).
📃 Кандидаты могут подать заявку через платформу приема https://e-tinglovchi.gsbe.uz/
💼Стоимость: 2000$ в год.
🗓️Подача документов: до 8 ноября 2024 года.
📞 Телефон для справок: +998 71 239-03-02
🔐 Начни свою карьеру с двумя дипломами мирового уровня!
#GraduateSchool#Study#Ranepa#Dual
🔝Web-site |🔝Facebook |🔝Instagram | 🔝Youtube
4️⃣4️⃣4️⃣4️⃣3️⃣3️⃣3️⃣
🆕Высшая школа бизнеса и предпринимательства при Кабинете Министров продолжает приём документов на совместную магистерскую программу 3+1 «Два диплома» с РАНХиГС.
👨💻Два диплома по специальностьям:
1. «Магистр менеджмента» — диплом РАНХиГС.
2. «Управление бизнесом (MBA) — Корпоративное управление и стратегическое развитие бизнеса» — диплом Высшей школы
2-летняя магистратура
- Заочная форма обучения
- Стоимость контракта 2000$ в год
- Два диплом
📕 Слушатели обучаются два года: три семестра в Высшей школе в заочнойформе и четвертый семестр в РАНХиГС, расположенном в центре Москвы, с предоставлением жилья.
🔔 Выпускники получат сразу два диплома магистра этихдвух учебных заведенийодновременно после успешного завершения программы обучения.
👨🦱 Кандидаты могут подать заявку через платформу приема https://e-tinglovchi.gsbe.uz/, приложив следующие документы:
- документы о высшем образовании (с приложением) и нотариально заверенный перевод;
- копия ID карты или паспорта (оригинал предоставляется во время экзамена);
- сертификат, подтверждающий соответствующий уровень владения русским языком (если имеется).
⏳Срок приема документов: до 18: 00 8 ноября 2024 года.
📈 График работы приемной комиссии: понедельник-пятница, с 9:00 до 18:00.
☎️ Телефон для справок: +998 71 239-03-02
#GraduateSchool#Study#Ranepa#Dual
🔝Web-site |🔝Facebook |🔝Instagram | 🔝Youtube
4️⃣4️⃣4️⃣3️⃣3️⃣3️⃣
🏙 Vazirlar Mahkamasi huzuridagi Biznes va tadbirkorlik oliy maktabi Rossiyaning RANXiGS oliygohi bilan hamkorligidagi 3+1, "Ikki diplom" magistratura dasturiga qabul davom etadi.
📄Ikki diplom mutaxassisliklari:
1.Menejment
2.MBA - Korporativ boshqaruv va biznesni strategik rivojlantirish
2 yillik Magistratura dasturi
- Sirtqi ta'lim
- Kantrakt to'lovi 1 yil uchun 2000$
- Ikki diplom
📚 Tinglovchilar sirtqi taʼlim shaklida umumiy ikki yil: Oliy maktabda uch semestr hamda to‘rtinchi semestrni Moskva shahri markazida joylashgan RANXiGS oliygohida, turar joy bilan taʼminlangan holda davom ettiradilar.
🔝 Bitiruvchilar o‘quv dasturini muvaffaqiyatli tamomlagandan so‘ng, bir vaqtning o‘zida ushbu ikki oliygoh magistrlik diplomlariga ega bo‘ladilar.
👩💻 Nomzodlar https://e-tinglovchi.gsbe.uz/ qabul platformasi orqali quyidagi hujjatlarini ilova qilgan holda murojaat qilishlari mumkin:
- oliy maʼlumot to‘g‘risidagi hujjatlar (ilovasi bilan) hamda notarial tasdiqlangan tarjimasi;
- ID karta yoki pasport nusxasi (imtihon vaqtida asl nusxasi taqdim etiladi);
- rus tilini bilish darajasini tasdiqlovchi sertifikat (agar mavjud bo‘lsa).
⏱Qabul yakuni: 2024-yilning 8-noyabr soat 18:00 ga qadar.
👆Qabul komissiyasining ishlash jadvali:
dushanba – juma kunlari, soat 9:00 dan 18:00 gacha.
ℹ️ Maʼlumot uchun telefon: +99871 239-03-02
#GraduateSchool#Study#Ranepa#Dual
🔝Web-site |🔝Facebook |🔝Instagram | 🔝Youtube