Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
А вы в курсе, какой завтра день? Пятница 13е! 😈
Мистический день, о котором сложено много легенд... 🔮 Мы считаем, это повод для совершенно особенного образа! Поэтому приготовили подборку продуктов и аксессуаров, чтобы взять максимум от этого дня 🎃
1️⃣Палетка теней Rowdy Free Spirit c ее таинственными фиолетовыми и драматичными черными оттенками
🖤
2️⃣Тинт на водной основе для губ#cheekylips в оттенке 001 Be the first ♥️
3️⃣Палетка теней Power Of Friendship — красный и оранжевый для самых смелых и
👻 пугающих образов!
4️⃣Бомба для ванны "Hi, UFO"👽
5️⃣Жидкая помада Mischief In Progress
😈
6️⃣Серьги Lightning Black ⚡️
7️⃣Маркер для глаз в форме луны🌙
8️⃣Матовая помада в стике #checkmatte, 008 Oh Captain💋
9️⃣Серьги Fire Silver Color
🔥
🔟Глиттер гель для лица Ultra Violet для магического неонового сияния ✨
💛Бомба для ванны "Boo!"👻
#sodainspiration
Романтики, вы просили разобрать образ Флоренс Купер из "Десять желаний Софи" и мы прислушались ☺️
Огненно рыжие волосы — самый яркий атрибут внешности Куп 🔥 Мы не будем стараться затмить его макияжем, чтобы образ не вышел слишком перегруженным. Но мы точно постараемся обратить внимание на красивые и изящные черты лица героини 🐱
Для лица возьмем палетку Coffee Magic #coffeetime № 002 — в ней есть все, что нам понадобится: контуринг для скул и носа, хайлайтер для сияющей кожи, легкие румяна для свежести и бронзер — чтобы придать лицу sun-kissed look 🌴
Макияж глаз начинается с бровей 👀 Подчеркнем их ультратонким карандашом #browpurrfection. Затем нам понадобится палетка теней #mangaeyes Sugoi — сияющие золотые и бежево-серые оттенки заставят глаза светиться и добавят мягкого контраста 🌙
А если хочется чего-то более смелого, то можно добавить голубые оттенки! Разве есть какие-то цвета помимо синего и зеленого, которые так же хорошо сочетались бы с рыжим? 😼 И конечно добавим драмы и яркости глазам с помощью накладных ресниц с эффектом кукольного взгляда #dollyeyes❤
Завершим образ легендарным тинтом для губ #cheekylips в не менее легендарном оттенке 003 Thrice beautiful ⚡
#sodalovesgames
RED♥️
Магнум опус Тейлор и самый осенний альбом 🍁 Поэтому выбираем палетку нюдовых, коричневых оттенков (Game over 002 Dream team) для нежной базы, а драму устроим с помощью черного макера для глаз #makeitpop и традиционной красной помады Тей Тей (мы возьмем #checkmatte 006 Maple syrup — напоминает тот самый 🧣 из All too well). Печатка в форме сердечка 🖤 немного Electra Heart Марины, но по вайбу подходит идеально ⚡
1989📸
📸 Нью-Йорк, Гарри Стайлз, girl squad... Это эра свободы в большом городе, приключений, жизни на полную катушку! Нужна яркая палетка в цветах эры (голубой/синий) — например, Sugoi #mangaeyes, обязательно глиттер #bizarreshine и космическое сияние хайлайтера в стике. Без красных губ никуда, но в этой эре возьмем более легкую текстуру — тинт на водной основе #cheekylips🍓 И мятный лак для более нежных образов 🍭
#sodalovespopculture#sodalovestaylorswift