Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Приглашаю на показы финальных работ участников Командных соревнований ArtMasters 2025!
Командные соревнования Национального открытого чемпионата творческих компетенций ArtMasters – это наш фирменный проект.
Команды соревнуются по направлениям: ТЕАТР (оперный этюд), КИНО (короткий метр) и МУЗЫКА (клип).
Рекомендую посетить финальный показы, где будут определены лучшие команды.
Регистрируйтесь:
ТЕАТР, Школа драматического искусства, ул. Сретенка, 19
26.09.2025
Сбор гостей: 18:30
Начало мероприятия: 19:00
Регистрация: https://ano-artmasters.timepad.ru/event/3571424/
МУЗЫКА, «Кино-холл» ВГИК, ул. Вильгельма Пика, 3
27.09.2025
Сбор гостей: 12:30
Начало мероприятия: 13:00
Регистрация: https://ano-artmasters.timepad.ru/event/3571438/
КИНО, «Кино-холл» ВГИК, ул. Вильгельма Пика, 3
27.09.2025
Сбор гостей: 16:30
Начало мероприятия: 17:00
Регистрация: https://ano-artmasters.timepad.ru/event/3571446/
На связи,
ББВ
#backstageheroes
Это было красиво, современно и масштабно!
29 августа на сцене Театра на Цветном МТС Live Hall прошло одно из самых зрелищных событий чемпионата — мультимедийное музыкальное «Есенин шоу», посвящённое 130-летию со дня рождения и 100-летию памяти Сергея Есенина.
Участники создали музыку, цифровые миры и мультимедийное оформление для живого концерта. На сцену вышли артисты Академии Ларисы Долиной, представив номера, которые стали результатом совместной работы с финалистами ArtMasters.
Экспертами программы выступили Алексей Романоф («Композитор популярной музыки»), Евгений Тимащук («Дизайнер виртуальных миров») и Антон Сакара («Моушн-дизайнер»). Режиссёром шоу стал Илья Иванов — автор крупнейших телевизионных музыкальных проектов страны.
Музыка, визуальные эффекты, живые голоса и цифровые миры соединились в одно целое, напоминая, что поэзия Есенина живёт и сегодня, находя новые формы звучания.
«Есенин шоу» стало мощной точкой притяжения финалистов и топовых компаний креативных индустрий.
На связи,
ББВ
#backstageheroes
#artmastersfamily
#artmasters2025
Уже сегодня в 15:00 стартует VII Чемпионат ArtMasters.
Семья проекта пополнилась новыми именами лучших наставников страны — супергероями креативных индустрий.
Уникальная возможность для участников встретиться с ними лично и задать важные вопросы на пути к вершине мастерства.
На связи,
ББВ
#artmasters2026
#backstageheroes
#artmastersfamily
Закончился сбор заявок на VI Чемпионат ArtMasters.
Каждый этап приема заявок — очень волнительный период для организатора. Мы два месяца делаем всё, чтобы достучаться до каждого молодого творческого человека и дать ему шанс принять участие в конкурсе, который, возможно, навсегда изменить его профессиональную жизнь в лучшую сторону.
Спасибо всем участникам, которые подали заявки и заполнили профили.
В этом году мы собрали почти 30К заявок, в всего заявок за шесть лет уже почти 135 000!
ArtMasters — это большое сообщество молодых творческих специалистов, которые выбрали свой путь к вершине мастерства.
Удачи всем участникам и обязательно увидимся в Финале.
На связи,
ББВ
#artmasters
#backstageheroes
#artmastersfamily
#artmasters2025