Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
🚢SAL вводит в строй второе многоцелевое судно проектного класса Orca - "Frida".
Немецкий оператор тяжеловесных перевозок SAL Heavy Lift провёл церемонию имянаречения второго судна проектного класса Orca — "Frida" — в порту Эсбьерг (Дания).
Судно относится к сегменту многоцелевых судов, предназначенных для перевозки тяжеловесных грузов, в том числе перевозки проектных и негабаритных грузов, включая оборудование для энергетических и оффшорных проектов.
Увеличение флота судов проектного класса Orca усиливает позиции компании в сегменте тяжёлых проектных перевозок, где растёт спрос со стороны оффшорных проектов и добывающей промышленности.
Для рынка это сигнал продолжения инвестиций в специализированный тоннаж, ориентированный на сложные и высокомаржинальные проекты.
📌SAL Heavy Lift GmbH & Co. KG — основана в 1980 году в Германии, один из ведущих операторов многоцелевых судов; входит в группу Harren Group, находящуюся в частной собственности.
Владельцем и генеральным директором Harren Group является доктор Мартин Харрен. Это семейная группа компаний, семьи Харрен (Harren).
#Shipping#HeavyLift#MPP#SAL#ProjectCargo
Taste of Africa: Way — Кабо Верде
вулканический архипелаг Атлантики, где Африка звучит морной 🌍🏝️🌋🌬️🎶
Кабо Верде (Cabo Verde) — острова в Атлантическом океане примерно в 600 км от побережья Западной Африки. Здесь удивительно сочетаются океанский простор, вулканическая природа и креольская культура на стыке Африки и Португалии.
🌋 Как появились острова
Кабо Верде — вулканический архипелаг: лавовые поля, базальтовые склоны, резкие обрывы и долины, где зелень появляется после дождей как маленькое чудо.
Главный “символ земли” — остров Фогу и вулкан Пику ду Фогу.
🧭 Факт про место на карте
Острова веками были важной остановкой на атлантических морских маршрутах — поэтому здесь так естественно смешались ритмы, вкусы и языки.
👥 Люди и язык
Официально — португальский, в жизни — креольский kriolu (очень музыкальный и тёплый на слух).
🏛️ Что посмотреть
• Сидади Велья (Сантьягу): исторические кварталы и крепость Форте Реал де Сан Филипе над океаном
• Фогу: “марсианские” пейзажи + виноградники на вулканической почве
• Минделу (Сан Висенте): город музыки и набережных
• Сал / Боа Вишта: пляжи, дюны, ветер и свет “без фильтров”
🎶 Культура
Ключ к Кабо Верде — музыка. Морна — нежная и чуть грустная, как закат, который не хочется отпускать.
Морна выросла из атлантического смешения: западноафриканского синкопированного пульса и португальской песенной традиции — поэтому она одновременно “африканская по дыханию” и европейская по мелодике.
Более танцевальные ритмы (коладейра/фунана), чтобы жизнь не застаивалась.
🍲 Еда
• Cachupa (кашупа) — главное блюдо Кабо Верде: кукуруза + фасоль + овощи, а дальше — вариации.
• Cachupa rica — “богатая” (мясо/колбаса, иногда рыба)
• Cachupa pobre — “простая” (база: кукуруза + фасоль + овощи)
Утром часто делают cachupa refogada — вчерашнюю кашупу обжаривают (иногда с яйцом).
• Рыба и морепродукты — свежо и по океански
• Grogue — напиток из сахарного тростника (если хочется тепла)
✈️ Как попасть
Обычно — самолётом с пересадкой через Европу (часто через Лиссабон; также встречаются стыковки через Мадрид/Париж). Прилёт в один из аэропортов: Sal (SID), Praia (RAI), иногда São Vicente (VXE) или Boa Vista (BVC).
🗺️ Маршруты под разный ритм
1. 🏖️ Сал или Боа Вишта (5–7 дней) — отдых и “перезагрузка”
2. 🌋 Фогу + Сантьягу (6–9 дней) — вулкан + история
3. 🎶 Сан Висенте (4–6 дней) — музыка и город
4. 🧩 Сантьягу → Фогу → Сан Висенте (10–14 дней) — лучшее по чуть чуть
🎯 Краткие рекомендации по целям:
• Лучший универсальный период для первой поездки — с ноября по апрель. Погода предсказуемо отличная.
• Самые "зеленые" и бюджетные месяцы — сентябрь и октябрь, но нужно быть готовым к капризам погоды.
• Самые ветреные и дорогие месяцы — декабрь-февраль.
🌬️ Way на воскресенье
Представьте, что вы на Кабо Верде — и пусть это сбудется 😉
Вопрос: какой Кабо Верде вам ближе — пляжный 🏝️ или вулканический 🌋?
🔄 Сохраняйте пост и приглашайте друзей — ритмическое путешествие продолжается! 🎶🌍
#TasteOfAfrica#TasteOfAfricaWay#CapeVerde#CaboVerde#КабоВерде#Африка#Путешествия#Атлантика#Океан#Вулкан#Fogo#PicoDoFogo#Santiago#Praia#CidadeVelha#SaoVicente#Mindelo#Sal#BoaVista#Морна#Morna#Coladeira#Funana#Cachupa#Grogue