Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Определены победители и призеры чемпионата “Кубок роверов”
Лига 1. Навесное оборудование.
Победители - команда "Лужайка", детский центр "Луг", г. Волгоград
1. Уханова Софья Андреевна - наставник
2. Кузьмичева Кира Андреевна
3. Братчикова Виктория Евгеньевна
4. Шарпанов Вячеслав Андреевич
5. Ковшарева Варвара Сергеевна
Призеры - команда "АЦТ-111", ГБНОУ Академия цифровых технологий, г. Санкт-Петербург
1. Любимова Валентина Владимировна - наставник
2. Кизилов Иван Дмитриевич
3. Ордин Дмитрий Александрович
4. Шипачева Софья Андреевна
Лига 2. Малый ровер
Специальная номинация экспертов - команда "techno_team", МАОУ Новосибирский Экономический Лицей, г. Новосибирск
1. Дедок Василий Александрович - наставник
2. Чепелев Александр Владимирович - наставник
3. Рогожкин Егор Юрьевич
4. Антропов Артём Михайлович
5. Чепелев Владислав Владимирович
#gorover#rovercup
Мы начинаем I Чемпионат по космической робототехнике "Кубок Роверов" 🏆🤖
Сегодня начинается первый день соревнований. Команды потихоньку начинают собираться в НИИ механики МГУ, в котором для них подготовлены аудитории для подготовки своего оборудования, испытательный полигон с естественным природным ландшафтом, и пирожки и кофе 🥧☕️
Пожелаем удачи командам и организаторам!
#rovercup#voltbro#кубокроверов
Небольшой видеоролик о прошедшем финале I-го Чемпионата по космической робототехнике "Кубок Роверов" 2025 года!
https://vk.com/video-206862623_456239563
Будем ждать всех в следующем соревновательном году!
Уже скоро анонс еще одного роверного соревнования 🤖🏎
#rovercup#кубокроверов#voltbro#братьявольт
🚀 1 ноября завершается регистрация на чемпионат по космической робототехнике «Кубок Роверов»!
Регистрация членов команд здесь: roverchallenge.ru/reg
👨🚀 Участвовать могут как школьные (с 8-го класса), так и студенческие команды. Компетенции в команде: электронщик, конструктор, программист.
Регламент чемпионата соответствует международным соревнованиям RoverChallenge, в которых российская команда заняла 2-е место в Канаде в этом году!
Вас ждут космические задания, где вы:
- освоите ROS (Robot Operating System), Python и C;
- попробуете симулятор Gazebo;
- поработаете с электроникой, схемотехникой и системами связи;
- прокачаете навыки проектной деятельности — командную работу, защиту проектов, видеомонтаж, создание презентаций и документации.
Чемпионат проходит при поддержке Госкорпорации «Роскосмос» и НИИ механики МГУ им. М.В. Ломоносова.
#voltbro#кубокроверов#rovercup#вольтбро#роскосмос
🚀 Начинаем новый сезон чемпионата по космической робототехнике «Кубок Роверов»!
Если ты хочешь попробовать себя в разработке роботов, работающих в реальных условиях, — этот чемпионат для тебя.
📅Регистрация открыта до 1 ноября 2025 → roverchallenge.ru/reg
👨🚀 Участвовать могут как школьные (с 8-го класса), так и студенческие команды.
Вас ждет работа над проектом, где вы:
- познакомитесь с космическими миссиями и планетоходами;
- освоите ROS (Robot Operating System), Python и C;
- попробуете симулятор Gazebo;
- поработаете с электроникой, схемотехникой и системами связи;
- прокачаете навыки проектной деятельности — командную работу, защиту проектов, видеомонтаж, создание презентаций и документации.
Каждая команда сможет придумать и реализовать свой научный проект по исследованию планет.
Видео с Финала I-го чемпионата: https://vkvideo.ru/video-206862623_456239563
ℹ️ Подробнее о чемпионате — на сайте: roverchallenge.ru
Чемпионат проходит при поддержке Госкорпорации «Роскосмос» и НИИ механики МГУ им. М.В. Ломоносова.
🏆 Впереди вас ждет много промежуточных отчетов и финальных призов, а финал состоится в Москве в июле 2026 года.
Ждем как начинающих, так и опытных робототехников!
#voltbro#кубокроверов#rovercup#вольтбро#роскосмос
Первый набор электроники VBCores для участия в чемпионате "Кубок Роверов" наконец-то нашёл своих счастливых обладателей! Ими стали прошлогодние финалисты Лиги 1 — команда "Высотка". 🏆
Мы уверены, что с этим комплектом у них получится добиться ещё более впечатляющих результатов, создавая своего собственного ровера для Лиги 2.
А мы тем временем готовим учебный курс по работе с VBCores — от первых шагов и запуска простых примеров до сборки настоящей электроники для управления ровером.
#voltbro#вольтбро#кубокроверов#rovercup#vbcores
🚀 Друзья! Напоминаем, что регистрация на II Чемпионат по космической робототехнике «Кубок Роверов» продолжается!
«Кубок Роверов» — российский аналог международных Rover Challenge, где школьники и студенты создают собственные планетоходы и проверяют их в условиях, максимально приближенных к реальным космическим миссиям. Это шанс проявить инженерное мышление, прокачать навыки проектирования, электроники и программирования, научиться работать в команде и стать частью сообщества будущих исследователей космоса.
✨ В этом году участников ждёт:
1️⃣Совершенно новая станция для задачи технического обслуживания в Лигах 1 и 2
2️⃣Переход на ROS2 в Лиге 1
3️⃣Рекомендуемые наборы электроники на базе STM32
4️⃣Ещё больше образовательных видео и методических материалов
🔗Успейте зарегистрироваться: https://roverchallenge.ru/reg
📸 Фото, результаты прошлого года и все подробности — на официальном сайте: https://roverchallenge.ru/
Будущее космоса начинается здесь — присоединяйтесь к Чемпионату «Кубок Роверов»!
#voltbro#кубокроверов#rovercup#вольтбро#роскосмос#msu