Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
#Francia
Durante un suo comizio a Figeac in #Occitania, Emmanuel #Macron è stato contestato con un striscione che recitava "Quando tutto sarà privato saremo privati di tutto".
Il candidato Presidente ha risposto dicendo "Congratulazioni per essere in una democrazia dove puoi sfidare il presidente! Parlerò con loro dopo il comizio."
@UltimoraPolitics
Cardabèla — Cantos y danzas del Languedoc (Guimbarda, 1979)
#medieval#traditional#Occitania#France
Cardabela — французская группа из города Монпелье. Cantos y Danzas del Languedoc — их третий альбом с песнями их родного Лангедока, исторической области на юге Франции, части Окситании, родины средневековых трубадуров, население которой традиционно говорило на окситанском языке. Участники группы изучали музыку и пение трубадуров XII века. В результате их знания и происхождение сильно сказалось на звуке. Перед вами почти никому не известный выдающийся образец очень убедительного средневекового окситанского фолка.
Telegram
Jean Ségurel — Autour des Monédières (Odeon, 1959)
#chanson#traditional#Occitania#France
Для народной музыки Окситании, родины трубадуров, расположенной на юге Франции и в небольшой части Испании и Италии, характерны баллады. В балладах с этого альбома слышно переплетение мотивов этих стран, однако из-за исполнения Жана Сэгуреля они приобретают оттенок французского шансона. Жан-Батист Сэгурель – французский аккордеонист, композитор и дирижер, родился 13 октября 1908 года во французской коммуне Шомей. Сэгурель начинал как скрипач, однако, взяв в руки аккордеон по возвращению с военной службы, он осознал, что хочет посвятить этому инструменту свою жизнь. Значительный период карьеры Сэгурель был менестрелем своего времени: выступал на различных ярмарках и свадьбах. Друзья Жана-Батиста представили его основателю лейбла «Le Soleil», благодаря которому он утвердился как профессиональный музыкант. В 1968 году генерал де Голль присвоил ему звание кавалера Почетного легиона.
Spotify | AppleMusic
Bachàs — Cants E Mùsicas Dau Païs Nissart (Ventadorn, 1979)
#traditional#mandolin#violin#flute#hurdy_gurdy#accordion#Occitania#France
Bachàs — французский коллектив из города Ницца, исполнявший окситанский фолк на окситанском языке. Перед вами их первый альбом, на котором можно услышать старинные песни, инструментальную музыку и музыка для танцев из города Прованс, окрестностей Ниццы и других исторических областей юга Франции. Разнообразное звучание напоминает о музыке окситанских трубадуров и о народных мотивах соседних Испании и Италии.
Telegram
Lo Jai — Musiques Traditionnelles Du Limousin (Revolum, 1981)
#traditional#chabrette#ocarina#pifres#hurdy_gurdy#tambours#violin#Occitania#France
Группа Lo Jai была основана в Лионе в 1980 году, когда три участника фолк-группы Le Grand Rouge присоединились к своему коллеге, чтобы исследовать музыку Лимузена. Группа исполняет композиции в региональном стиле Лимузена, который напоминает арабскую музыку и служит напоминанием о том, что французская культура представляет собой не столько монолитную сущность, сколько множество региональных культур, звуков и языков. Перед вами первый альбом коллектива.
🔗Telegram