Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
👟 ¡Lunes de renovación deportiva y tecnológica!
Arrancamos la semana con chollazos irresistibles: el chándal de Adidas para hombre a casi mitad de precio y el repetidor WiFi 6 de TP-Link para que internet llegue a cada rincón de tu hogar. También destacamos la regleta de pared ultra potente con puertos USB-C, la jarra BRITA para disfrutar de agua siempre filtrada y el spray After Sun de Isdin a precio de locura. ¡Y para los más curiosos, un microscopio digital infantil con un 52% de descuento! 📶🔌
👇 Selección del día:
🔥 Adidas Chándal para Hombre por 39,90€ (-47% dto)
🔗https://amzn.to/4sugFfa
🔥 TP-Link RE500X - WiFi 6 Repetidor por 39,90€ (-43% dto)
🔗https://amzn.to/4chQWAI
🔥 Regleta de pared con 5 tomas y 3 USB por 25,72€
🔗https://amzn.to/4cahPba
🔥 Microscopio Digital para niños por 24,00€ (-52% dto)
🔗https://amzn.to/3Qax8b6
🔥 BRITA Jarra con filtro de agua por 13,90€ (-28% dto)
🔗https://amzn.to/4ciSH0r
🔥 Isdin After Sun Spray por 8,50€ (-52% dto)
🔗https://amzn.to/47Usnsq
🔥 Fokky 5 Bandas Elásticas Musculación por 6,90€ (-46% dto)
🔗https://amzn.to/4t94dD3
#Adidas#TPLink#Brita#OfertasAmazon#AhorroLunes
📲 No te pierdas ni uno, síguenos en directo:
🔗https://whatsapp.com/channel/0029VbB9FRYEQIafeiqslX2F
YouTube Issues and Economic Updates
🔧 Users in Russia report ongoing issues with YouTube, marking another decrease in platform traffic, as confirmed by Google.
📊 The Russian Communications Ministry (RKN) plans to acquire data on user attempts to access blocked sites, though it already collects some relevant data.
⚙️ The Ministry of Economic Development aims to increase processing limits to enhance labor market flexibility amid personnel shortages.
📈 Predictions suggest the information security market in 2024 could grow by 30% to reach 593 billion rubles, though other estimates are lower.
📺 Yandex is negotiating with Haier, TCL, and Huawei for the installation of its OS on all their TVs supplied to Russia.
💰 AI search engine Perplexity successfully raised $500 million at a valuation of $9 billion, a significant increase from its earlier valuation of $1 billion.
🇺🇸 In the US, an investigation has been initiated against TP-Link over national security concerns, as they hold 65% of the domestic router market.
#YouTube#RKN#EconomicDevelopment#MarketGrowth#InformationSecurity#Yandex#Perplexity#Funding#TPLink#NationalSecurity#Russia#TechNews#AI#Router#Television#DataPrivacy#UserExperience#TrafficIssues
YouTube Issues and Economic Growth
Users in Russia again report issues with YouTube, causing a traffic drop noted by Google. The Roskomnadzor is seeking data from providers on user attempts to access blocked sites, despite existing data collection measures not aiding user identification. The Ministry of Economic Development aims to raise processing limits to improve labor market flexibility amid staff shortages. The cybersecurity market is projected to grow by up to 30% in 2024, although some estimates suggest only 10-15% growth due to high interest rates and tax burdens. Yandex plans to negotiate with Haier, TCL, and Huawei to install its OS on all TVs sold in Russia. AI search engine Perplexity secures $500 million funding, raising its valuation to $9 billion, up from $1 billion in April. In the U.S., the investigation into TP-Link for potential national security threats begins, as it commands 65% of the U.S. home router market.
#YouTube#Russia#InternetIssues#Roskomnadzor#LaborMarket#Cybersecurity#Growth#Yandex#AI#Funding#Perplexity#TPLink#NationalSecurity#TechNews#MarketTrends#Television#Haier#TCL#Huawei#EconomicDevelopment#VPN