Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Я нашла ее - идеальную тушь для своего макияжа🙌🏻
Эффект WOW был, девочки
Удлиняет, придает объём и самое главное, дарит тот самый яркий и притягательный взгляд!
Просто посмотрите на мое до и после 🤍
И все благодаря ей Pupa Vamp! Lash Extender, которую хотят все
Заказать можно здесь
Я уверенна эта тушь останется в твоей косметичке надолго!
#vamplashextender#pupamilano#pupalovers
девочки, это восторг!
никогда бы не подумала, что тушь может настолько увеличить мои ресницы, настоящий эффект вау!
тушь Pupa Mascara Vamp! Lash Extender - настоящая находка для тех, кто не хочет делать наращивание, но хотел бы иметь более яркие и густые ресницы
тушь приподнимает их, придает им объем и удлиняет на 90%!
оставляю для вас ссылку, приобрести можно будет в ЗЯ💙
#vamplashextender#pupamilano#pupalovers
найдена тушь с ВАУ-эффектом и феноменальным объёмом!
Pupa Vamp! Lash extender@pupamilanorussia:
• силиконовая щёточка прокрашивает каждую ресничку без склеивания и комочков
• густая формула подкручивает ресницы, удлиняет, даёт объём от корней
• легко наслаивается🤌🏻
• не осыпается и не отпечатывается!
• при этом легко смываемся
ну а какой красивейший футляр💜
однозначно рекомендую!
купить уже можно в Золотом Яблоке
#vamplashextender#pupamilano#pupalovers
Нереальная новая тушь от Pupa - Mascara Vamp! Lash Extender💔
я думаю без слов понятно, почему она мне так понравилась, эффект до/после просто ВАУ 💔
объем, разделение, удлинение и шикарная стойкость в течение дня а ещё супер гибкая щеточка, которая прокрашивает каждую ресничку !
Вы точно должны попробовать, а купить ее можно в РИВ ГОШ
#vamplashextender#pupamilano#pupalovers
Реклама, ООО «КОСМОТРЕЙД», ИНН: 7725628885, erid: 2VtzqvTdBkv
тестирую самую громкую новинку осени от @pupamilanorussia
тушь PUPA vamp! lash extender
• силиконовая щеточка с заостренным кончиком, прокрашивает и приподнимает ресницы от самых корней
• можно наслаивать для wow-эффекта
• насыщенный черный
• не осыпается, смывается без <эффекта панды>
уже доступна в Золотом Яблоке
#vamplashextender#pupamilano#pupalovers
😎 LASH BOSS 😎 ЗДЕСЬ?
Стойте-ка, сейчас появится та самая, которая перевернет мир...
Ах, вот и она! Тушь VAMP! LASH EXTENDER!
🔥 Непревзойденный объем
🔥 Бесконечно длинные ресницы
🔥 Насыщенный черный
Как сильно вы хотите ее попробовать от 1 до 10? А кто уже?
#pupamilano#madeinitaly#vamplashextender#vampmascara
Пришло время обновить ваши ресницы
➡️
➡️
➡️VAMP! LASH EXTENDER
Тушь, которая формирует и приподнимает ваши ресницы в измерении 3D!
Отметьте вашу лучшую подругу, которой она тоже очень нужна!
#pupamilano#madeinitaly#vamplashextender#vampmascara