Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
💥Leggings Under Armour Hombre UA HG Armour
Consigue el máximo rendimiento en tus entrenamientos
✅OFERTA: 23.95€
❌ Antes: 40.0€
💰Ahorras un 40%🔥
Tejido transpirable que te mantiene seco y cómodo durante toda la sesión
👉 Mejora tu rendimiento ahora
#underarmour#leggins#deporte#descuentos#rebajas#invierno#ofertas#viral
🛰️Oferta publicada en Deporte y Outdoor
Under Armour в Узбекистане официально представлен холдингом Fashion Retail Group
Under Armour — это спортивная инженерия в чистом виде.
Каждая ткань, шов и система вентиляции создаются не ради дизайна, а ради эффективности.
Фирменные технологии бренда обеспечивают возврат энергии при каждом шаге, а каждая деталь продумана в сотрудничестве с профессиональными спортсменами и научными спортивными лабораториями.
С радостью объявляем: новая коллекция HALO уже доступна в Узбекистане.
Создана для тех, кто ценит точность движений, устойчивость и технологичную лёгкость.
#UnderArmour#FRG#UnderArmourUzbekistan#HALOCollection
Telegram / Facebook / Instagram / LinkedIn
👟 ¡Miércoles de salud, deporte y organización en casa!
Hoy traemos una selección muy variada con descuentos que no puedes dejar pasar. Destacan las zapatillas Under Armour para mujer a casi mitad de precio y el tensiómetro automático OMRON, un básico para controlar la salud en casa. Si buscas orden, el organizador para 12 pares de zapatos es ideal, y para los cafeteros, la mítica cafetera italiana Orbegozo apta para inducción está tirada de precio. ¡También incluimos tecnología de red con TP-Link y cuidado facial con CeraVe! ☕🔌
👇 Selección del día:
🔥 Under Armour Zapatillas Mujer por 34,90€ (-42% dto)
🔗https://amzn.to/4cwDvgp
🔥 OMRON Tensiómetro de Brazo Automático por 23,90€ (-20% dto)
🔗https://amzn.to/41DTPab
🔥 Organizador Armario para 12 Pares de Zapatos por 13,80€ (-31% dto)
🔗https://amzn.to/3QH1fqI
🔥 CeraVe Blemish Control Gel Limpiador por 10,90€ (-28% dto)
🔗https://amzn.to/4cpqpBx
🔥 Orbegozo Cafetera Italiana Inducción por 8,60€ (-31% dto)
🔗https://amzn.to/426NRPd
🔥 TP-Link Switch Ethernet con 5 Puertos por 6,30€ (-51% dto)
🔗https://amzn.to/4tdeDBx
#UnderArmour#Salud#Hogar#OfertasAmazon#AhorroMiercoles
💥Zapatillas Under Armour Ua Charged Assert 10
Corre con estilo y comodidad este invierno
✅OFERTA: 37.97€
❌ Antes: 75.0€
💰Ahorras un 49%🔥
Diseño resistente al frío, suela con amortiguación y ajuste perfecto
👉 Renueva tus zapatillas ahora
#underarmour#zapatillasdecorrer#rebajas#deporte#running#ofertas#viral
🛰️Oferta publicada en Deporte y Outdoor
💥Diadema Deportiva Under Armour UA Performance
Potencia tu rendimiento con estilo esta Navidad
✅OFERTA: 6.95€
❌ Antes: 12.0€
💰Ahorras un 42%🔥
Mantén el cabello controlado y la transpiración alejada durante tus entrenamient
👉 Consigue la tuya ahora
#diadema#deporte#underarmour#navidad#ofertas#tendencia#viral#headband
🛰️Oferta publicada en Deporte y Outdoor
📉 ¡Jueves para equiparse y ahorrar en la cuesta de enero!
Hoy traemos una selección muy práctica: mochila Under Armour por menos de 10€ (¡corre!), botas Columbia impermeables al 50% para tus escapadas y una fiambrera eléctrica ideal para comer caliente en el trabajo y ahorrar en restaurantes. 🍱🏔️
👇 Selección del día:
🎒 Mochila de Deporte Under Armour por 9,9€ (-55% 🔥)
amzn.to/49PApCT
🥾 Zapatillas Columbia Waterproof Senderismo por 44,9€ (-50% 🔥)
amzn.to/4sTIPle
🍳 Tefal 3 Sartenes de Acero inoxidable por 59€ (-33% 🔥)
amzn.to/4jPrR3q
💊 Multicentrum Complemento Multivitamínico por 21,7€ (-35% 🔥)
amzn.to/4quVklH
🦁 LEGO Disney El Rey León: Simba por 15€ (-25% 🔥)
amzn.to/4jPHSq1
🍱 Fiambrera Eléctrica 3 En 1 Calentador por 19,9€
amzn.to/3YS14da
#RebajasEnero#Senderismo#TupperTime#UnderArmour#Chollos
📲 No te pierdas ni uno, síguenos en directo:
🔗t.me/ChollazoExpres
🔗whatsapp.com/channel/0029VbB9FRYEQIafeiqslX2F
💥Sujetador Under Armour Mujer UA HG Mid Bra
Brinda comodidad y soporte durante tus entrenamientos
✅OFERTA: 20.95€
❌ Antes: 30.0€
💰Ahorras un 30%🔥
Diseño de alto rendimiento para mayor libertad de movimiento
👉 Mejora tu entrenamiento ahora
#underarmour#modaybelleza#ofertas#tendencia#navidad#modadeportiva#mujer#sujetadores
🛰️Oferta publicada en Moda y Belleza
💥Shorts deportivos Under Armour UA Launch 7 2-in-1
Ligereza y comodidad para tus entrenamientos navideños
✅OFERTA: 27.95€
❌ Antes: 50.0€
💰Ahorras un 44%🔥
Diseño transpirable y reflectante para mayor visibilidad
👉 Haz brillar tu rendimiento esta Navidad
#shortsdeportivos#underarmour#lanzamiento#deporte#navidad#ofertas#ligeros#transpirable
🛰️Oferta publicada en Deporte y Outdoor