Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Если вы любите средневековую музыку или каверы на известные хиты, сделанные с использованием народных и исторических инструментов, вам сюда (на канале натурально несколько часов подобного):
https://m.youtube.com/watch?v=7Kq00R4JbR4
#justsound
Пока летел, слушал свои надежные, на любые времена плейлисты, сохранённые на телефоне. Отдельно зацепил этот трек. Он какой-то целительный:
https://m.youtube.com/watch?v=lAHCBnCRGfU
#justsound
В 22 году выходит новый альбом Placebo, которые не моя любимая группа, но несколькими выстрелами навылет прошили мое сердце.
Время новому:
https://m.youtube.com/watch?v=N17TEw__Iog
#justsound
Один из любимейших стилей музыки для самолёта, длинный перелёт, день-ночь, спишь в наушниках, а там сталкиваются небеса с твердью — epic pop (чтоб драма и преодоление, и ангелы), кинематографичный, на разрыв аорты:
https://youtu.be/SROppS6dUck
#justsound
В финале «Бойцовского клуба» звучит знаменитый трек Where is my mind — и под него происходит то, что должно случиться.
В «Злом» (Malignant) Джеймс Ван использует кавер этого знаменитого трека. И это дико. Стебно. Круто. Внешне неадекватно и, в то же время, странно уместно.
Люблю такое (трек долго разгоняется, фильм тоже, подождите):
https://www.youtube.com/watch?v=nQ_hw20Qg7g
#justsound
Небыстро. Глубоко. С чувством.
Когда мне нужно замереть — like a rabbit in your headlights — я иду за такой музыкой. Расстраивает, что у сильной музыки часто нет достойного видеоряда. Добрые роботы, где же вы?
https://m.youtube.com/watch?v=qzNVLouWwmk
#justsound
Очень часто на музыку, которая мне нравится, нет интересного видео.
Я убежден, клипы — отдельный жанр искусства. Песня с видео становится чем-то большим (как Цири с Геральтом, вернее, с его помощью). Эта песня достойна видеоряда, хотя я совершенно не понимаю, какого. Если знаете, что она должна показывать, напишите в комментах, интересно.
https://m.youtube.com/watch?v=raDoPwbG4Y8
#justsound
Никак не могу понять своего отношения к этому треку.
Начинается как weird western, прелюдия к «Золотой пуле», нервное предощущение, но когда вступает вокал и появляется текст, все переворачивается, и к финалу история становится другой:
https://youtu.be/HgAJn8gVGgQ
#justsound
Очень кайфую, что у нас появилась крутая (калькированная, но на русском) поп-музыка. Хорошего клипа нет, а неподходящий не хочу:
https://m.youtube.com/watch?v=Eiy7hR4o6SQ
#justsound
Удивительно немного известно про cyber metal группу Blind passengers, а клипа на мой любимый трек и вовсе нет. Поиграл бы в живой киберпанк под такое:
https://m.youtube.com/watch?v=6fXNhsiWLBA
#justsound
Раньше по ночам я катал под такую музыку на ролах.
Сейчас, наверное, был бы самокат, но холодно, а свадьба на выходных немного пошатнула здоровье.
Этот звук, вайб, басовые вибрации очень про мои ездовые ночи.
Я катался и придумывал второй том «Призраков».
Осень 2012 года.
https://m.youtube.com/watch?v=5nARkgVV8q0
#vishot#justsound