Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
https://www.youtube.com/watch?v=B4DyCtoTQY8
Desde que comenzó el show sanitario muchas personas se han estado analizando replantear sus vidas, abandonar la paranoia urbana y estrechar su contacto con la naturaleza.
La salud que buscamos radica en incrementar nuestro poder de generar un #bienestar natural, real... definitivo; para eso debemos alejarnos del estilo de vida psicótico contaminante, dependiente y parasitario de las ciudades y acercarnos a la verdadera #Emancipación energética, económica y psicológica
Este es el escenario de la batalla más compleja que nos toca vivir: el desapego a la vida que solíamos tener (la vieja "normalidad"); enfrentar a los demonios interiores que protegen nuestro Ego resultó ser mucho más difícil que hacer activismo en redes sociales, manifestar o imprimir pancartas anti N•O•M.
El camino que te planteo es el #minimalismo, un estilo de vida basado en el desprendimiento gradual e inteligente de tus nexos con el mundo material.
@emocionaligencia
🗓️ Reto 24h (Día)
Imprime + 2 colores + 1 acento
✅ Elige 2 colores base + 1 color acento.
✅ Imprime una página y colorea solo con esa paleta.
✅ Mañana compartimos resultados en el canal.
Paleta A🎨 Azul marino + Beige + Acento Dorado
Paleta B🎨 Verde salvia + Gris + Acento Coral
Vota: ¿A o B?
🔥 Si participas, manda tu resultado al grupo y lo reposteo.
#Reto24h#Colorear#Minimalismo#PaletaDeColores#ColoringBooksPDF
📢Hecho con Inside
💥Set de 6 Posters Minimalismo en Colores Pastel
Dale un toque de serenidad a tu hogar
✅OFERTA: 15.54€
❌ Antes: 25.9€
💰Ahorras un 40%🔥
Transforma tus espacios con paisajes relajantes y naturaleza
👉 Decora tu hogar con estilo
#decoracioninteriores#dulcehogar#minimalismo#naturalezapastel#hogarsweet#disenointeriores#ofertas#navidad
🛰️Oferta publicada en Cultura y Ocio
☀️ Paletas cálidas para motivarte (sin sobreestimular)
Los tonos cálidos “suaves” (durazno, terracota, arena, miel) activan energía y enfoque sin subir el volumen visual como los neones.
Mini guía:
- Durazno: ánimo amable
- Terracota: constancia
- Arena: calma
- Miel: optimismo
- Rosa viejo: cercanía
CTA: Dime tu mood (cansad@, enfocad@, ansios@, chill, creativo) y te paso 1 paleta de 5 colores🎨
#PsicologiaDelColor#ColorPalette#Minimalismo#Diseño#Mood
📢Hecho con Inside
📄 Descarga gratis: “Habitación minimal + planta”
Estética minimalista con líneas limpias: perfecta para imprimir y colorear en modo relax. 🖍️🌿
✅ Uso personal
📥 Descarga, imprime y colorea
🎨 Reto:Descarga y comparte tu combo de 3 colores (ponlos en comentarios).
#ParaColorear#ColoringPages#Minimalismo#ArteParaRelajarse#Imprimible#AdultColoring#KidsActivities
📢Hecho con Inside
🗻 Paisaje zen minimal para colorear (montañas)
Una página minimalista japonés para imprimir y relajarte: líneas limpias, mucho aire y calma total.
📥 Descarga gratis y prueba en monocromo:
🔹 Azul
🔹 Gris
🔹 Verde
Tip: usa un solo tono y juega con la presión del lápiz para hacer degradados suaves.
✅ Uso personal
#ParaColorear#ColoringPages#Paisaje#Zen#Minimalismo#Japones#Montañas#Imprimir#ArteRelajante
📢Hecho con Inside