Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
👨🌾
🚜
🦁
Стенд компании Zoomlion на выставке CIAME 2025 в городе Ухань.
Присутствуют несколько классных новинок на рынок РФ, а так же есть анонсы на новые модели, о которых совсем скоро расскажем.
Сегодня видно колоссальную работу обратной связи между:
- Заводом изготовителем
- Представительством
- Дилерской сети
Благодаря этому симбиозу мы видим множество доработок по модельному ряду тракторов!
В сравнении с прошлым годом, экспонатов чуть меньше, но это лишь временно!
Большие перспективные проекты еще впереди. Развитие и доработка уже испытанных технологий в РФ, дает возможность заводу к новым объемам производства и дальнейшее развитие плюс модернизация тракторов!
Самое верное направление на сегодня - это Китай, и он будет удивлять нас с каждым годом все больше и больше!
#CIAME2025#выставка#Агромаг#Agromag#Китай#Zoomlion#новинки
С 26 по 28 октября в городе Ухань (Китай) успешно прошла одна из ключевых международных выставок сельскохозяйственной техники — CIAME 2025. Мероприятие, ежегодно организуемое Китайской ассоциацией дилеров и дистрибьюторов CAMDA, подтвердило свой статус ведущей отраслевой площадки в Азии. Делегация Ассоциации дилеров сельскохозяйственной техники «АСХОД» приняла активное участие в работе выставки по официальному приглашению организаторов.
В этом году экспозиция CIAME заняла площадь 210 000 кв. метров и собрала около 2000 китайских и зарубежных компаний. Делегация "АСХОД" была официально приглашена посетить выставку и направила участие в мероприятии компанию ООО «Агромаг»
Выражаем огромную благодарность Ассоциации «АСХОД» за участие в данном мероприятие и надеемся на большой успех и выполнение всех поставленных задач!
Первый день работы в Ухане был ознакомительный, своего рода - Деловой матчмейкинг (обнаружение и связи двух компаний со схожими деловыми интересами, товарами и услугами, опытом, технологиями и сильными сторонами ведения бизнеса)
Со второго дня личные встречи на стендах компаний, контакты, выстраивание партнерских отношений и возможно будущих больших и малых проектов!
Китай очень многогранен и там где есть современные технологии, там же не обходится без присутствия сильно старых, но традиционных методов в сельском хозяйстве, поэтому по возможности покажу для Вас более технологичный Китай и в каком направлении он сейчас идет!
#АСХОД#Агромаг#Китай#Ухань#Ciame2025#выставкавКитае#Wuhan2025#CIAME2025