Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
BanQu Secures $7.19M Funding
BanQu raises $7.19 million in funding. The technology focuses on supply chain visibility and sourcing software to enhance tracking and improve profitability.
#Funding#BanQu#SupplyChain#Visibility#Sourcing#Technology#Investment
Расширьте горизонты бизнеса с HKTDC.com Sourcing
Ищете надежную площадку для поиска качественных детских товаров или поставщиков игрушек? HKTDC.com Sourcing — это ваш идеальный партнер!
🔹 Широкий выбор детских товаров и игрушек от проверенных поставщиков ждут вас.
🔹 Проверенные производители. HKTDC сотрудничает с надежными производителями со всего мира, предоставляя безопасные и выгодные сделки.
🔹 Современные инструменты поиска. Удобный интерфейс и интеллектуальные фильтры помогут быстро найти именно то, что вам нужно.
🔹 Международные возможности
HKTDC.com Sourcing открывает двери для экспорта и импорта на глобальном уровне, соединяя вас с партнерами со всего мира.
Начните развивать свой бизнес уже сегодня!
Зарегистрируйтесь на HKTDC.com Sourcing и откройте для себя новые рынки и возможности!
Explore More: https://bit.ly/3OHL20k
#HKTDC#hongkong#HKTDC.comSourcing #Sourcing#Supplier#Buyer#NewsBites#HKTDC
💡 Осветите свой путь к более экологичному завтрашнему дню вместе с HKTDC.com Sourcing
Экологичные световые решения, поставляемые сетью надежных поставщиков, не только освещают пространство, но и освещают путь к более экологичному миру.
Ознакомьтесь с нашей коллекцией светильников и наружного освещения, в которой инновации сочетаются с экологической ответственностью. 💚
Узнайте больше на сайте https://bit.ly/3AquOFp и станьте частью перемен!
📧 [email protected]
#HKTDC#HKTDCSourcing#sourcing#sustainability#green#electronics#carbonneutrality
Надежность и достоверность всегда являются главным приоритетом при поиске поставщиков электроники.⚡️
Платформа #HKTDCSourcing включает функцию сертификации продукции, чтобы помочь вам в поиске надежных и заслуживающих доверия поставщиков, обеспечить высокое качество электронной продукции и ее соответствие стандартам безопасности.🔍
Узнайте больше: https://sourcing.hktdc.com/en
📧 [email protected]
#HKTDC#HKTDCsourcing#sourcing#productcertification#buyers#suppliers#quality#safety#certification#electronics
Приготовьтесь к первым трем крупным выставкам 2025 года!
На трех выставках HKTDC, где представлен широкий ассортимент игрушек, игр, детских товаров, канцелярских принадлежностей и школьных принадлежностей для всех возрастов, вы сможете без проблем найти поставщиков. Присоединяйтесь к нам, чтобы начать свое путешествие по поиску поставщиков в 2025 году! 🚀
Зарегистрируйтесь СЕЙЧАС и начните свой путь поиска поставщиков 👉https://bit.ly/3Z8lv5t
Гонконгская выставка игрушек и игр | Гонконгская выставка детских товаров | Гонконгская международная выставка канцелярских и школьных принадлежностей
6-9 ЯНВАРЯ 2025 | HKCEC
30 декабря 2024 - 16 января 2025 | Click2Match (Online)
#HKTDC#HKTDCFairs#ToysProduct#BabyProducts#Stationery#SchoolSupplies#Trading#HKToysFair#HKBabyProductsFair#HKStationeryFair#sourcing