Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
💢Resultados de las VOTACIONES💢
🌸 Niña 🌸
🥇 Primer lugar: Trabajo 1️⃣ Unicornio 🦄 técnica amigurumi por @Narya_Crochet
🥈 Segundo lugar:
Trabajo 2️⃣ Aretes Mini margaritas de cerámica fría por @biaceramicafria
🥉 Tercer lugar: -
Muchísimas gracias por participar 😊 y muchas felicidades 🥳
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
🌸 ✿Premios✿ 👇
✨ Los trabajos ganadores se publicarán por el canal con una breve descripción y el @ del autor para promover su obra o emprendimiento. (Durante 1 semana)
‼️Además, el🥇 Primer lugar:
🆕➡️ Gana una Publicación + Etiqueta en nuestra cuenta de Instagram⬅️🆕
🥈 Segundo lugar: Dice el próximo reto.
#retos#informacion#info#reto
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
💢Resultados de las VOTACIONES💢
🎄 Navidad 🎄
🥇Primer lugar: Trabajo 3️⃣ Colección de estatuillas de cerámica fría 🎅☃️, colgantes para tu arbolito 🎄 y diademas temáticas 🦌hechas totalmente a mano por @Anaeli1919
🥈Segundo lugar:
Trabajo 1️⃣ Aretes navideños por @BichiMakerJunior
🥉Tercer lugar: Trabajo 2️⃣ Postales navideñas y mini arbolitos de navidad por @Samy_Robert
Muchísimas gracias por participar 😊 y muchas felicidades 🥳
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
🌸 ✿Premios✿ 👇
✨ Los trabajos ganadores se publicarán por el canal con una breve descripción y el @ del autor para promover su obra o emprendimiento. (Durante 1 semana)
‼️Además, el🥇 Primer lugar:
🆕➡️ Gana una Publicación + Etiqueta en nuestra cuenta de Instagram ⬅️🆕
🥈 Segundo lugar: Dice el próximo reto.
#retos#informacion#info#reto
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
💢Resultados de las VOTACIONES💢
🎃☠️👻 Halloween 👻☠️🎃
🥇 Primer lugar: Trabajo 2️⃣ Witch cat por @Narya_Crochet
🥈 Segundo lugar:
Trabajo 1️⃣ Araña Ágatha por @Narya_Crochet
Trabajo 3️⃣ Aretes de miedo por @BichiMakerJunior
Trabajo 4️⃣ Imanes para decorar la casa en Halloween por @AmorParkSarangStore
Muchísimas gracias por participar 😊 y muchas felicidades 🥳
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
🌸 ✿Premios✿ 👇
✨ Los trabajos ganadores se publicarán por el canal con una breve descripción y el @ del autor para promover su obra o emprendimiento. (Durante 1 semana)
‼️Además, el🥇 Primer lugar:
🆕➡️ Gana una Publicación + Etiqueta en nuestra cuenta de Instagram ⬅️🆕
🥈 Segundo lugar: Dice el próximo reto. Como son 3 deben llegar a un consenso 😅
#retos#informacion#info#reto
🎄✨❄️🎁❤️☃️🌨️🎄✨❄️🎁❤️☃️🌨️
Próximo RETO
🍁☃️🎄 Navidad 🎄☃️🍁
✨ Técnica: libre (manualidad)
✨ Publicación: deben publicar el trabajo por nuestro espacio de intercambio utilizando el marcador 📍#navidad
✨ Deben poner una descripción breve de la obra
❄️ Fecha tope: Domingo 13 de noviembre
❄️ Horario de publicación: hasta las 7:59 pm
❄️ Horario de votaciones: 8:00 pm
❄️ Cierre de las votaciones: Al otro día
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
🌸 ✿Premios✿ 👇
☃️ Los 3 trabajos ganadores se publicarán por el canal con una breve descripción y datos del autor para promover su obra o emprendimiento.
Además, el
🥇 Primer lugar:
🆕➡️ Gana una Publicación + Etiqueta en nuestra cuenta de Instagram ⬅️🆕
🥈 Segundo lugar: Gana unos aretes de Bia cerámica fría
🥉 Tercer lugar: Dice el próximo reto.
🎄✨❄️🎁❤️☃️🌨️🎄✨❄️🎁❤️☃️🌨️
#retos#informacion#info#reto
⭐☃️❄️🌲⭐☃️❄️🌲⭐☃️❄️🌲⭐☃️❄️🌲
Nuestras ganadoras nos anuncian que el Próximo reto será:
☃️⭐NAVIDAD🌲❄️
✨ Técnica: libre (manualidad)
✨ Publicación: deben publicar el trabajo por nuestro espacio de intercambio utilizando el marcador 📍#navidad
✨ Deben poner una descripción breve de la obra
✨ Fecha de publicación: Domingo 2️⃣8️⃣ de noviembre
✨ Horario de publicación: hasta las 7:59 pm
✨ Horario de votaciones: 8:00 pm
✨ Cierre de las votaciones: Al otro día
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
🌸 ✿Premios✿ 👇
✨ Los 3 trabajos ganadores se publicarán por el canal con una breve descripción y datos del autor para promover su obra o emprendimiento. (Durante 1 semana)
Además, el
🥇 Primer lugar:
🆕➡️ Gana una Publicación + Etiqueta en nuestra cuenta de Instagram ⬅️🆕
🥈 Segundo lugar: Dice el próximo reto.
#retos#informacion#info#reto
🦸👻🎃💥✨👺👹😈🤡🤠☠️💐🌛👽🤖🧟
Próximo RETO
🍁🎃☠️ Halloween ☠️🎃🍁
✨ Técnica: libre (manualidad)
✨ Publicación: deben publicar el trabajo por nuestro espacio de intercambio utilizando el marcador 📍#halloween
✨ Deben poner una descripción breve de la obra
❄️ Fecha tope: Domingo 30 de octubre
❄️ Horario de publicación: hasta las 7:59 pm
❄️ Horario de votaciones: 8:00 pm
❄️ Cierre de las votaciones: Al otro día
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
🌸 ✿Premios✿ 👇
☃️ Los 3 trabajos ganadores se publicarán por el canal con una breve descripción y datos del autor para promover su obra o emprendimiento.
Además, el
🥇 Primer lugar:
🆕➡️ Gana una Publicación + Etiqueta en nuestra cuenta de Instagram ⬅️🆕
🥈 Segundo lugar: Gana unos aretes de Bia cerámica fría
🥉 Tercer lugar: Dice el próximo reto.
🦸👻🎃💥✨👺👹😈🤡🤠☠️💐🌛👽🤖🧟
#retos#informacion#info#reto
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
💢Resultados de las VOTACIONES💢
🍁 Otoño 🍁
🥇 Primer lugar: Trabajo 1️⃣ Diseños de accesorios y atrapasueños inspirados en los colores de las hojas del #otoño , las plumas son de cernícalo (ojo tomadas en la muda, no dañamos animales) que casualmente tiene su etapa migratoria en esta estación; por @Chanyela
🥈 Segundo lugar:
Trabajo 2️⃣ Aretes de cerámica fría por @biaceramicafria
🥉 Tercer lugar: -
Muchísimas gracias por participar 😊 y muchas felicidades 🥳
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
🌸 ✿Premios✿ 👇
✨ Los trabajos ganadores se publicarán por el canal con una breve descripción y el @ del autor para promover su obra o emprendimiento. (Durante 1 semana)
‼️Además, el🥇 Primer lugar:
🆕➡️ Gana una Publicación + Etiqueta en nuestra cuenta de Instagram ⬅️🆕
🥈 Segundo lugar: Dice el próximo reto.
#retos#informacion#info#reto
✨🍁🍂❄️🌾🍄🌻🌨️🌘☔🌲🌿🍃🍀🪴🌵
Próximo RETO
🍁🍂❄️OTOÑO❄️🍂🍁
✨ Técnica: libre (manualidad)
✨ Publicación: deben publicar el trabajo por nuestro espacio de intercambio utilizando el marcador 📍#otoño
✨ Deben poner una descripción breve de la obra
❄️ Fecha tope: Domingo 16 de octubre
❄️ Horario de publicación: hasta las 7:59 pm
❄️ Horario de votaciones: 8:00 pm
❄️ Cierre de las votaciones: Al otro día
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
🌸 ✿Premios✿ 👇
☃️ Los 3 trabajos ganadores se publicarán por el canal con una breve descripción y datos del autor para promover su obra o emprendimiento.
Además, el
🥇 Primer lugar:
🆕➡️ Gana una Publicación + Etiqueta en nuestra cuenta de Instagram ⬅️🆕
🥈 Segundo lugar: Gana unos aretes de Bia cerámica fría
🥉 Tercer lugar: Dice el próximo reto.
✨🍁🍂❄️🌾🍄🌻🌨️🌘☔🌲🌿🍃🍀🪴🌵
#retos#informacion#info#reto
✨🍄☃️🙌🙋🏻♀️🎉🕺🥳🌸💪🌻❤️🍀👍✨
Se reanudan los RETOS
🥰 Temática Libre 🥰
11 de Octubre: Día Internacional de la Niña
✨ Técnica: libre (manualidad)
✨ Publicación: deben publicar el trabajo por nuestro grupo utilizando el marcador 📍#niña
✨ Deben poner una descripción breve de la obra
❄️ Fecha tope: Domingo 9 de octubre
❄️ Horario de publicación: hasta las 7:59 pm
❄️ Horario de votaciones: 8:00 pm
❄️ Cierre de las votaciones: Al otro día
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
🌸 ✿Premios✿ 👇
☃️ Los 3 trabajos ganadores se publicarán por el canal con una breve descripción y datos del autor para promover su obra o emprendimiento.
Además, el
🥇 Primer lugar:
🆕➡️ Gana una Publicación + Etiqueta en nuestra cuenta de Instagram y compartimos el enlace a su catálogo en el canal ⬅️🆕
🥈 Segundo lugar: Dice el próximo reto.
✨🍄☃️🙌🙋🏻♀️🎉🕺🥳🌸💪🌻❤️🍀👍✨
#retos#informacion#info#reto
🥰💘💓💔🍀😍❤️💞💟💌❣️💝💖💋🫀
Próximo RETO
💓💘🥰San Valentín🥰💘💓
14 de febrero
día del 🅰🅼🅾🆁 y la 🅰🅼🅸🆂🆃🅰🅳
✨ Técnica: libre (manualidad)
✨ Publicación: deben publicar el trabajo por nuestro espacio de intercambio utilizando el marcador 📍#14febrero
✨ Deben poner una descripción breve de la obra
❄️ Fecha tope: Domingo 13 de febrero
❄️ Horario de publicación: hasta las 7:59 pm
❄️ Horario de votaciones: 8:00 pm
❄️ Cierre de las votaciones: Al otro día
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
🌸 ✿Premios✿ 👇
☃️ Los 3 trabajos ganadores se publicarán por el canal con una breve descripción y datos del autor para promover su obra o emprendimiento.
Además, el
🥇 Primer lugar:
🆕➡️ Gana una Publicación + Etiqueta en nuestra cuenta de Instagram ⬅️🆕
🥈 Segundo lugar: Dice el próximo reto.
🥰💘💓💔🍀😍❤️💞💟💌❣️💝💖💋🫀
#retos#informacion#info#reto
🧙🏻♂️🧝🧚🧝🧙🏻♂️🧚🧝🧙🏻♂️🧚🧝🧙🏻♂️🧚🧝🧙🏻♂️🧚🧝
Nuestra ganadora nos anuncia el tema del próximo reto
🧙🏻♂️🧝🧚DUENDES🧚🧝🧙🏻♂️
✨ Técnica: libre (manualidad)
✨ Publicación: deben publicar el trabajo por nuestro espacio de intercambio utilizando el marcador 📍#duendes
✨ Deben poner una descripción breve de la obra
❄️ Fecha tope: Domingo 26 de diciembre
❄️ Horario de publicación: hasta las 7:59 pm
❄️ Horario de votaciones: 8:00 pm
❄️ Cierre de las votaciones: Al otro día
─━━━━━━⊱✰✰✰✰✰⊰━━━━━━─
🌸 ✿Premios✿ 👇
☃️ Los 3 trabajos ganadores se publicarán por el canal con una breve descripción y datos del autor para promover su obra o emprendimiento.
Además, el
🥇 Primer lugar:
🆕➡️ Gana una Publicación + Etiqueta en nuestra cuenta de Instagram ⬅️🆕
🥈 Segundo lugar: Dice el próximo reto.
🧙🏻♂️🧝🧚🧝🧙🏻♂️🧚🧝🧙🏻♂️🧚🧝🧙🏻♂️🧚🧝🧙🏻♂️🧚🧝
#retos#informacion#info#reto
💥Times Up Party Amarillo
Diviértete en Navidad con este juego de mímica y palabras
✅OFERTA: 14.99€
❌ Antes: 20.99€
💰Ahorras un 29%🔥
Ideal para reuniones familiares o con amigos, promueve risas y complicidad
👉 Haz que tus fiestas sean inolvidables
#juegosdemesa#fiestas#diversion#navidad#mimica#palabrastabu#reto#amigos
🛰️Oferta publicada en Cultura y Ocio