Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
💥Triumph Scrambler 900 — классика с внедорожным характером
✏️ Британский мотоцикл Triumph Scrambler 900 сочетает в себе ретро-стиль и современные технологии, оставаясь верным духу оригинальных «скамблеров» 1960-х.
✔️ Дизайн и атмосфера
С его высоко расположенной выхлопной трубой, внедорожными шинами и минималистичным дизайном Scrambler 900 выглядит так, будто сошел со страниц мотоистории. Однако под капотом — современный 900-кубовый параллельный твин с воздушно-масляным охлаждением, выдающий 64 л.с. и 80 Нм крутящего момента.
✔️ Ездовые характеристики
Двигатель обеспечивает плавную подачу мощности, идеальную для городских поездок и легкого бездорожья. Длинноходная подвеска и легкая рама делают мотоцикл управляемым даже на грунтовых дорогах, а ABS и система traction control добавляют безопасности.
✔️ Для кого этот байк?
Scrambler 900 — отличный выбор для тех, кто ценит классическую эстетику, но не хочет жертвовать надежностью. Это мотоцикл для повседневных поездок, воскресных приключений и тех, кто любит выделяться из толпы.
Хотите почувствовать дух свободы? Triumph Scrambler 900 готов к любым дорогам!
#Triumph#Scrambler#Мотоциклы
💥 Triumph Scrambler 400 Escape: французский взгляд на внедорожный характер
✏️ Французская мастерская FCR Original представила впечатляющий проект переосмысления Triumph Scrambler 400. Результат их работы, получивший название «Escape», — это мотоцикл, который одинаково уверенно чувствует себя как в городских джунглях, так и на грунтовых дорогах.
Вместо того чтобы создавать радикальный кастом под одну задачу, FCR Original предлагает продуманный, сбалансированный пакет доработок. И главное — это не штучная работа, а конфигурируемый набор, который можно адаптировать под личные предпочтения.
Что изменилось?
FCR предлагает два варианта апгрейда — для дорожной версии Scrambler 400 X и для более подготовленной к бездорожью Scrambler 400 XC. При этом двигатель остается нетронутым: 398-кубовый одноцилиндровый мотор сохраняет свою надежную заводскую настройку. Все изменения направлены на ходовую часть, защиту, эргономику и внешний вид.
Вот лишь некоторые детали преображения:
· Защита: Моторный щиток, решетка радиатора, специальная крышка цепи и новые поворотники.
· Подвеска и колеса: Оффроудная резина Continental, которая отлично держит и гравий, и асфальт.
· Выхлоп: Высоко расположенная система с новым глушителем. Это не только эффектно смотрится, но и увеличивает глубину брода при переправах через воду. Звук стал более насыщенным, но без ущерба для комфорта.
· Эргономика: Доработанное сиденье для дальних поездок, багажник и мягкие кофры для многодневных путешествий.
· Стиль: Специальная окраска бака, боковых панелей и обтекателя фары. Доступны варианты: черный, бежевый, ледяной синий и темно-зеленый с топографическими узорами, подчеркивающие «приключенческий» характер мотоцикла.
Гибкий подход
Особенность Escape в том, что это модульная система. Вы можете начать с установки защиты или выхлопа, постепенно расширяя функционал своего мотоцикла. Многие компоненты доступны отдельно в фирменном магазине аксессуаров FCR.
Статус и доступность
Полная версия проекта была впервые представлена широкой публике на выставке Rétromobile 2026 в Париже. Конкретных цен на полный пакет компания не раскрывает — стоимость рассчитывается индивидуально под каждого клиента.
Почему это интересно?
FCR Original удалось сохранить главные козыри Triumph Scrambler 400 — доступность, лицензию A2 и простоту в управлении — но при этом добавить мотоциклу настоящий характер приключенческого эндуро. «Escape» выглядит как готовый заводской спецвыпуск, а не кустарная переделка.
#TriumphScrambler#TriumphScrambler400#FCROriginal#CustomBike#Scrambler#AdventureBuild#MotorcycleNews