Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Компания Li Auto представила StreamingClaw, унифицированную платформу для создания агентов на основе воплощенного искусственного интеллекта
🚗 Компания Li Auto представила StreamingClaw, унифицированную платформу для работы с агентами, предназначенную для анализа видео в реальном времени и воплощения искусственного интеллекта.
✅ Полностью совместимая с фреймворком OpenClaw, система StreamingClaw изначально поддерживает многомодальную потоковую передачу в реальном времени. Вместо обработки видео в виде файлов для автономного просмотра, система непрерывно получает визуальные данные в реальном времени и выполняет мгновенный анализ — что ближе к человеческому восприятию.
✅ В демонстрационных версиях система отслеживает поведение водителя, например, зевание или использование телефона, и выдает предупреждения, а также позволяет осуществлять проактивное взаимодействие, например, приветствовать пользователей, когда они приближаются к автомобилю.
Источник: Pandaily
@chinastocksnet
Если полезно, поставьте лайк 👍😇
#LI
📞 Навигация по каналам
▪️Акции▪️Облигации
▪️Китай ▪️Трейдинг
▪️Новости▪️Клуб
Короткие продавцы набросились на акции Li Auto, так как аналитики прогнозируют плохие результаты
📌 Медвежьи ставки на акции Li Auto Inc. взлетели до рекордной отметки в преддверии результатов третьего квартала, в котором, по прогнозам, китайский производитель электромобилей зафиксирует самое большое падение выручки с момента листинга.
📈 По данным S&P Global, в пятницу короткие продажи акций компании в свободном обращении достигли исторического максимума в 8,1%. Согласно оценкам аналитиков, составленным Bloomberg, выручка Li Auto, по оценкам аналитиков, завершившимся в сентябре, снизилась на 38% в годовом исчислении. Это падение может стать самым сильным с момента листинга компании в США в 2020 году, который состоялся за год до листинга в Гонконге.
➡️ Акции Li Auto, некогда любимые инвесторами, потеряли динамику из -за жёсткой конкуренции на рынке электромобилей с увеличенным запасом хода со стороны местных аналогов в Китае, крупнейшем автомобильном рынке мира. Снизившись примерно на 23% в этом году, акции компании занимают второе место по динамике роста в индексе Hang Seng China Enterprises, который вырос почти на 26%. Li Auto потеряла более половины своей стоимости с пикового значения в августе 2023 года.
*️⃣ Результаты будут опубликованы позднее в среду. Согласно отчётности, Li Auto поставила 93 211 автомобилей в третьем квартале, что на 39% меньше, чем в прошлом году.
«Медвежьи опасения в основном касаются их основного бизнеса EREV», — сказал Юджин Сяо, руководитель стратегии акций Китая в Macquarie Capital Ltd. «Следующий год, похоже, останется очень конкурентным, поскольку такие игроки, как Xpeng, ведут себя агрессивно с четырьмя моделями EREV, а Xiaomi запускает свой долгожданный внедорожник EREV».
Источник: Bloomberg
@chinastocksnet
Если полезно, поставьте лайк 👍😇
#LI