Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Questa mattina, Papa #LeoneXIV ha ricevuto in udienza, nel Palazzo Apostolico Vaticano, José Ulisses Correia e Silva, Primo Ministro della Repubblica di #CaboVerde, il quale si è successivamente incontrato con il Cardinale Pietro Parolin, Segretario di Stato di Sua Santità, accompagnato dal mons. Mihăiţă Blaj, Sotto-Segretario per i Rapporti con gli Stati.
"Nel corso dei cordiali colloqui in Segreteria di Stato - fanno sapere dalla Sala Stampa vaticana - è stato ribadito il positivo stato delle relazioni tra la Santa Sede e la Repubblica di Cabo Verde, con particolare riferimento al contributo della Chiesa cattolica nel Paese e all’attuazione dell’Accordo bilaterale ratificato nel 2014. Sono stati affrontati anche alcuni aspetti della situazione sociale ed economica nazionale. Nel prosieguo della conversazione si è avuto uno scambio di vedute sull’attualità regionale e in particolare sulle questioni di #sicurezza nella regione dell’#Africa occidentale".
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