Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
🚢“Padma Leader” — новый двухтопливный автомобилевоз NYK на 7 000 CEU.
Японская судоходная компания Nippon Yusen Kabushiki Kaisha приняла в состав флота новый автомобилевоз (тип PCTC) - “Padma Leader”, построенный на верфи Tadotsu группы Imabari Shipbuilding.
Судно класса NK обладает вместимостью 7 000 CEU и предназначено для глобальных линий автоперевозок.
✔️ Главный двигатель Mitsui-MAN B&W 6S60ME-C10.5-GI (двухтопливный: обычное топливо или СПГ).
✔️ Снижение выбросов CO₂ до 30% по сравнению с HFO-аналогами.
✔️ Практически нулевые выбросы SOx и сокращение NOx на 80–90% (EGR).
✔️ Максимальная скорость: более 21 узла.
Проект судна предусматривает безпереборочную конструкцию с расширенными прямыми рампами и регулируемыми палубами, что повышает безопасность и эффективность погрузки автомобилей, трейлеров и тяжёлой автотехники.
Ввод СПГ-двигателей в сегменте судов-автомобилевозов (тип PCTC) -подтверждает долгосрочную ставку японских операторов на декарбонизацию и соответствие IMO 2030/2050. При устойчивом спросе на автологистику подобные суда формируют новый стандарт энергоэффективности в сегменте судов типа PCTC.
📌NYK Line основана в 1885 году в Японии. Компания входит в группу Mitsubishi и является одним из крупнейших глобальных морских перевозчиков с диверсифицированным флотом (контейнеровозы, автомобилевозы, танкеры, СПГ-газовозы и др.).
Крупнейшие акционеры — японские институциональные инвесторы и структуры, связанные с Mitsubishi Group.
#NYK#CarCarrier#LNGFuel#Shipbuilding#Decarbonization
🚢Глава CMA CGM подписал знаковый заказ на контейнеровозы в Индии.
Французская группа CMA CGM разместила заказ на строительство шести контейнеровозов, вместимостью по 1 700 TEU на верфи Cochin Shipyard Limited.
Суда будут оснащены двухтопливными СПГ-двигателями и зарегистрированы под индийским флагом. Техническая поддержка проекта обеспечивается HD Hyundai Heavy Industries. Подписание состоялось в Нью-Дели при участии главы CMA CGMРодольфа Сааде и министра портов Индии.
Контракт имеет стратегическое значение: это одни из первых контейнеровозов подобного класса, построенных в Индии, что усиливает амбиции страны в сегменте коммерческого судостроения и отражает диверсификацию верфей за пределами традиционных азиатских центров.
📌CMA CGM основана в 1978 году во Франции. Компания частная и контролируется семьёй Сааде (Saadé).
#containerships#LNGfuel#IndiaShipbuilding#CMA_CGM#maritimeindustry
🚢China Merchants заказывает балкеры на СПГ-топливе для работы на реке Янцзы.
Подразделение China Merchants Group — Changhang Freight (Zhoushan) — разместило заказ на два сухогрузных судна дедвейтом по 20 000 тонн с двигателями, работающим на СПГ для работы на реке Янцзы.
Строительство будет осуществляться на верфи Jiangxi New Jiangzhou Shipbuilding Heavy Industry. Суда разработаны как балкеры типа "река-море", способные работать как на внутренних водных путях Янцзы, так и на прибрежных маршрутах.
Каждое судно будет оснащено двумя главными двигателями мощностью по 2 000 кВт и системой СПГ-пропульсии. Ожидается, что применение СПГ позволит сократить выбросы CO₂ более чем на 20% по сравнению с традиционным мазутным топливом.
Проект поддерживает стратегию Китая по декарбонизации судоходства на крупнейшей внутренней транспортной артерии страны и демонстрирует растущую роль экологичных технологий в речном и прибрежном флоте.
📌China Merchants Group — китайская государственная корпорация, основанная в 1872 году, один из крупнейших мировых конгломератов в области судоходства, портов и логистики. Контрольный пакет принадлежит государству КНР.
#InlandShipping#LNGFuel#ChinaMerchants#YangtzeRiver#GreenShipping