Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Привет! На связи ваша Аня💌
С вами рубрика #lookoftheday и сегодня я собрала для вас образ из новой коллекции.
Классический базовый пиджак нежного песочного цвета, юбка-шорты с акцентным цветком и лакированные туфли — лаконичный, но эффектный образ.
Маленькое напоминание: у FASHION FABRIQUE есть сервис оплаты «Долями» — можно взять весь комплект и не раздумывать над выбором! 🤍
Телепорт чуть было не сорвался вчера в аэропорту, когда я была уверена, что самолет наш в 23:40, а он в 22:30😅😅😅
Пу пу пу
Ну хорошо хоть в нужный день в аэропорт приехали🤣🤣
#lookoftheday
Наряд в отпуск:
✅ туника Monochrome
На сайте розовая, в магазинах офлайн( вроде бы) еще остались черные
✅ панама Gucci
✅ тапки The Row
✅ косметичка Merci
Было у вас такое?
Доброе утро🖤
У меня минус 2 часа, несмотря на это, у меня была тренировка, я стараюсь не пропускать, если есть возможность, заниматься можно где угодно, для этого никакой инвентарь не нужен)
Завтрак в Париже- база))
#lookoftheday
✅ лонг Monochrome
✅ сумка Monochrome
✅ джинсы все те же, из Офпрайс
✅ обувь Prada
Как выбрать Худший вариант наряда для свидания на день Святого Валентина)) особенно на первое😎
✅ выбирайте вариант «наряжалась пол дня к тебе любимый» чтоб прическа так прическа, кудри так кудри! Контуринг и помада с подводкой))
✅ если встанет выбор: свой комфорт или отморозить пятую точку, но поразить его своими ногами, не думайте! МОРОЗЬТЕ!
✅ весь «товар» нужно сразу показать лицом. Выбирайте и мини, и самое обтягивающее, что есть, и самое яркое, и все украшения дома что были, тоже надевайте.
НЕ БЛАГОДАРИТЕ❤️
Платье
https://monochrome.ru/shop/dresses-bathrobes/dress-western-black
#lookoftheday
Платье Monochrome