Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
⌨️ Microsoft Word'da matnni tahrirlash uchun mo‘ljallangan klavishlar birikmalari (2-qism)
👉🏻 Ushbu ro‘yxatning 1-qismi.
• CTRL + B — belgilangan matn shriftini qalin qilish / oddiy holatiga qaytarish;
• CTRL + I — belgilangan matn shriftini kursiv qilish / oddiy holatiga qaytarish;
• CTRL + U — belgilangan matn ostiga chizish / oddiy holatiga qaytarish;
• CTRL + D — Шрифт muloqot oynasini ekranga chaqirish;
• CTRL + Q — abzatsga nisbatan qo‘llanilgan formatni o‘chirish;
• CTRL + M — chap tomondan otstup qo‘shish;
• CTRL + SHIFT + M — chap tomondan otstupni olib tashlash;
• CTRL + PROBEL — belgilangan matn fragmentidan, unga nisbatan qo‘llanilgan formatni o‘chirish (matn dastur sozlamasida qoida bo‘yicha o‘rnatilgan shrift turi va o‘lchamiga qaytadi).
• CTRL + SHIFT + A — barcha harflarni katta (agar allaqachon katta bo‘lsa, u holda kichik) ko‘rinishga keltirish;
• CTRL + SHIFT + C (CTRL + SHIFT + V) — formatlarni nusxalash / boshqa matnga nisbatan qo‘llash;
• CTRL + SHIFT + D — matn ostiga ikkitalik chiziq chizish / bekor qilish;
• CTRL + SHIFT + H — belgilangan matnni berkitish / ko‘rsatish (bunda berkitilgan matn chop etish vaqtida ko‘rinmaydi, Главная menyu satrida chop etilmaydigan belgilarni ko‘rsatish uchun xizmat qiluvchi ¶ tugmasi ustiga bosilgan taqdirda ko‘rinadi);
• CTRL + SHIFT + K — barcha harflarni kichik harf o‘lchamidagi katta harflar ko‘rinishiga keltirish / bekor qilish;
• CTRL + SHIFT + W — so‘zlar ostiga probellarni hisobga olmagan holda chizish;
• CTRL + T (CTRL + SHIFT + T) — Выступ qo‘shish / olib tashlash (abzatslarga nisbatan qo‘llaniladi);
• SHIFT + F1 — dastur oynasining o‘ng tomonida ochiluvchi matnni formatlash panelini faollashtirish / berkitish.
🤔Kanalimiz sizga kerakli bilimlarni ulashyabdi deb hisoblaysizmi?
👉🏼Birinchi raqamli windows blog | @itspecuz | #hotkeys
⚡️Excel dasturida tezkor tugmalar
Ctrl + Delete Tanlangan matn o'chiriladi.
Ctrl + Alt + V Maxsus qo'shimchalar paydo bo'ladi
Ctrl + belgisi + Belgilangan ustunlar va satrlar qo'shiladi.
Ctrl + belgisi - Tanlangan ustunlar yoki satrlar o'chiriladi.
Ctrl + D Pastki qator tanlangan katakchadagi ma'lumotlar bilan to'ldiriladi
Ctrl + R O'ng tarafdagi diapazon tanlangan uyaning ma'lumotlari bilan to'ldiriladi.
Ctrl + H Search-Replace oynasi paydo bo'ladi.
Ctrl + Z So'nggi harakatlar bekor qilinadi.
Ctrl + Y So'nggi harakat takrorlandi
Ctrl + 1 Hujayra formatini tahrirlash oynasi ochiladi.
Ctrl + B tugmalari Matn qalin qilib ko'rsatilgan
Ctrl + I Kursiv o'rnatish
Ctrl + U Matn tagiga chizilgan.
Ctrl + 5 Belgilangan matn ajratib ko'rsatilgan.
Ctrl + Enter Barcha kataklar tanlangan.
Ctrl +; Sana ko'rsatilgan
Ctrl + Shift +; Vaqt muhrlandi
Ctrl + Backspace Kursor oldingi katakka qaytadi.
Ctrl + Bo'sh joy Ustun ajralib turadi
Ctrl + A Ko'rinadigan narsalar ta'kidlangan.
Ctrl + End Kursor oxirgi katakka joylashtirilgan.
Ctrl + Shift + End Oxirgi katak ajratilgan
Ctrl + strelkalar Kursor ustunning chekkalari bo'ylab o'qlar yo'nalishi bo'yicha harakatlanadi.
Ctrl + N Yangi bo'sh kitob paydo bo'ladi
Ctrl + S Hujjat saqlandi
Ctrl + O Kerakli faylni qidirish oynasi ochiladi.
Ctrl + L tugmalarini bosing Smart stol rejimi boshlanadi
Ctrl + F2 Ko'rib chiqish kiritilgan
Ctrl + K Giperhavola kiritilgan
Ctrl + F3 Ismlar menejeri ishga tushirilad
K.B: Hammasini yod olish qiyin lekin doimiy foydalanish ancha ishni tezlashtiradi!
👉🏼Birinchi raqamli windows blog | #hotkeys
⚡️Excel dasturida tezkor tugmalar
Ctrl + Delete Tanlangan matn o'chiriladi.
Ctrl + Alt + V Maxsus qo'shimchalar paydo bo'ladi
Ctrl + belgisi + Belgilangan ustunlar va satrlar qo'shiladi.
Ctrl + belgisi - Tanlangan ustunlar yoki satrlar o'chiriladi.
Ctrl + D Pastki qator tanlangan katakchadagi ma'lumotlar bilan to'ldiriladi
Ctrl + R O'ng tarafdagi diapazon tanlangan uyaning ma'lumotlari bilan to'ldiriladi.
Ctrl + H Search-Replace oynasi paydo bo'ladi.
Ctrl + Z So'nggi harakatlar bekor qilinadi.
Ctrl + Y So'nggi harakat takrorlandi
Ctrl + 1 Hujayra formatini tahrirlash oynasi ochiladi.
Ctrl + B tugmalari Matn qalin qilib ko'rsatilgan
Ctrl + I Kursiv o'rnatish
Ctrl + U Matn tagiga chizilgan.
Ctrl + 5 Belgilangan matn ajratib ko'rsatilgan.
Ctrl + Enter Barcha kataklar tanlangan.
Ctrl +; Sana ko'rsatilgan
Ctrl + Shift +; Vaqt muhrlandi
Ctrl + Backspace Kursor oldingi katakka qaytadi.
Ctrl + Bo'sh joy Ustun ajralib turadi
Ctrl + A Ko'rinadigan narsalar ta'kidlangan.
Ctrl + End Kursor oxirgi katakka joylashtirilgan.
Ctrl + Shift + End Oxirgi katak ajratilgan
Ctrl + strelkalar Kursor ustunning chekkalari bo'ylab o'qlar yo'nalishi bo'yicha harakatlanadi.
Ctrl + N Yangi bo'sh kitob paydo bo'ladi
Ctrl + S Hujjat saqlandi
Ctrl + O Kerakli faylni qidirish oynasi ochiladi.
Ctrl + L tugmalarini bosing Smart stol rejimi boshlanadi
Ctrl + F2 Ko'rib chiqish kiritilgan
Ctrl + K Giperhavola kiritilgan
Ctrl + F3 Ismlar menejeri ishga tushirilad
K.B: Hammasini yod olish qiyin lekin doimiy foydalanish ancha ishni tezlashtiradi!
👉🏼Birinchi raqamli windows blog | #hotkeys
⌨️ Microsoft Word'da matnni tahrirlash uchun mo‘ljallangan klavishlar birikmalari (2-qism)
👉🏻 Ushbu ro‘yxatning 1-qismi.
• CTRL + B — belgilangan matn shriftini qalin qilish / oddiy holatiga qaytarish;
• CTRL + I — belgilangan matn shriftini kursiv qilish / oddiy holatiga qaytarish;
• CTRL + U — belgilangan matn ostiga chizish / oddiy holatiga qaytarish;
• CTRL + D — Шрифт muloqot oynasini ekranga chaqirish;
• CTRL + Q — abzatsga nisbatan qo‘llanilgan formatni o‘chirish;
• CTRL + M — chap tomondan otstup qo‘shish;
• CTRL + SHIFT + M — chap tomondan otstupni olib tashlash;
• CTRL + PROBEL — belgilangan matn fragmentidan, unga nisbatan qo‘llanilgan formatni o‘chirish (matn dastur sozlamasida qoida bo‘yicha o‘rnatilgan shrift turi va o‘lchamiga qaytadi).
• CTRL + SHIFT + A — barcha harflarni katta (agar allaqachon katta bo‘lsa, u holda kichik) ko‘rinishga keltirish;
• CTRL + SHIFT + C (CTRL + SHIFT + V) — formatlarni nusxalash / boshqa matnga nisbatan qo‘llash;
• CTRL + SHIFT + D — matn ostiga ikkitalik chiziq chizish / bekor qilish;
• CTRL + SHIFT + H — belgilangan matnni berkitish / ko‘rsatish (bunda berkitilgan matn chop etish vaqtida ko‘rinmaydi, Главная menyu satrida chop etilmaydigan belgilarni ko‘rsatish uchun xizmat qiluvchi ¶ tugmasi ustiga bosilgan taqdirda ko‘rinadi);
• CTRL + SHIFT + K — barcha harflarni kichik harf o‘lchamidagi katta harflar ko‘rinishiga keltirish / bekor qilish;
• CTRL + SHIFT + W — so‘zlar ostiga probellarni hisobga olmagan holda chizish;
• CTRL + T (CTRL + SHIFT + T) — Выступ qo‘shish / olib tashlash (abzatslarga nisbatan qo‘llaniladi);
• SHIFT + F1 — dastur oynasining o‘ng tomonida ochiluvchi matnni formatlash panelini faollashtirish / berkitish.
🤔Kanalimiz sizga kerakli bilimlarni ulashyabdi deb hisoblaysizmi?
👉🏼Birinchi raqamli windows blog | @itspecuz | #hotkeys
Har kuni kerak bo'ladigan kombinatsiyalar
#hotkeys
🔸F2 - belgilangan fayl yoki papkani nomini tahrirlash (переименовать) imkonini beradi.
🔸Alt + Enter - belgilangan fayl yoki papkani xususiyatlari (свойства) ni ochadi.
🔸Ctrl + Shift + Esc - "Диспетчер задач" ni ochishga imkon beradi. U yerdan "injiq" dasturlarga "zarba" berish mumkin.
🤔Siz qaysi kombinatsiyalardan juda ko'p foydalanasiz?
💻 Kompyuterni birga o'rganamiz ⤵️
Telegram I YouTube I Insta I TikTok