Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Dr. Fischer
Steinbock Riesling
Германия 🇩🇪, Мозель-Саар-Рувер, белое, полусухое, крепость 12%, Рислинг.
Гордый козерог, как символ стойкости и бесстрашия в крутых поворотах жизни (козерогам привет🤘), конечно меня заинтересовал и не обманул ожиданием.
Блестяще, минерально, ароматно, а вкус требует повторного глотка.
В аромате цитрусы, ананас и стержень карандаша или мелка кохинор).
Вкус нежный, мягкий, живой, прекрасно сбалансированный, с интересной структурой и ярким послевкусием.
Ценник +/-1500р.
Чин!🍷
#Steinbock#Riesling
@pro_Wines
Lucien Albrecht
Riesling Reserve
Франция🇫🇷, Эльзас AOC, белое, полусухое, крепость 12,5%, моносорт Рислинг, 2019г.
Очаровательная, сдержаная классика. В бокале блестящее золото и салатовые блики.
В носу спокойный, стойкий аромат, минеральные тона, тонкие цитрусовые ноты, сухотравье и первоцветы.
Вкус с дружелюбной кислотностью, насыщен, как и аромат цирусовыми и минеральностью. Послевкусие да!, задумчивое, требующее повторного глотка.
Сможет полежать подождать вас в прохладе 3-5 лет, если вы к нему ппока ещё не готовы)
Ценник +/-1700р.
Замечен в магнолиях.
Чин! 🍷
#Lucien_Albrecht#рислинг
#Riesling
@pro_Wines
Сегодня 13 марта, международный день Рислинга и мне есть что сказать!
Рислинг для меня самый понятный сорт и достаточно лёгкий в уходе, но первые года урожай не давался легко, искали подход и даже больше 50% однажды срезали на землю. Печально, но факт.
Однако в 2023 году его Величество Рислинг приятно нас удивил и подарил прекрасный урожай! Настолько прекрасный, что некоторые виноделы просили меня продать виноград им!
Кстати, Riesling Domaine Bonamy 2023 мы скоро будем разливать по бутылкам и это вино будет готово одним из первых! Урожай умеренный и количество бутылок, соответственно, тоже!
За винификацию отвечал Дмитрий Маслов - наш профессиональный энолог, с которым мы сотрудничаем уже не первый год.
Оцениваем Рислинг 2023 как классное летнее, лёгкое и освежающее вино и с нетерпением ждём выпуска!
Photo by @koni_krim
#Riesling#рислинг#энолог#DomaineBonamy
Дорогие друзья! Наш дебютный Riesling Domaine Bonamy 2023 едет на фестиваль RieslingRoad, который состоится 25 августа, в Москве!
Ищите нас на стенде vino.ru, мы будем там! Регистрация на фестиваль 👉здесь
Будем рады всех видеть! 🥂
#riesling#rieslingroad
#DomaineBonamy#винору
Друзья! Лето - время рислингов и фестиваль RIESLING ROAD возвращается!
Фестиваль уже побывал в Санкт-Петербурге и Екатеринбурге и спешит в Москву.
В Москве 25 августа на веранде ресторана «Дом 16» (Покровский б-р, 16-18, стр. 4-4А) соберутся профессионалы рынка и поклонники рислингов на круговую дегустацию более 100 вин со всего света познакомиться с новинками от партнеров и продегустировать полюбившиеся вина! Мастер-классы, интересные спикеры и отличное настроение в эти жаркие дни обеспечено!
Следуй за рислингом вместе с нами!
Программа и билеты по ссылке. Сайт проекта: https://rieslingroad.ru
@rieslingroad#riesling#rieslinglover#rieslingwine#rieslingroad
Моя последняя любовь, учитывая ровное отношение к Рислингу.
Paddle Creek Riesling Rose
Lake Road
Новая Зеландия🇳🇿, Мальборо, розовое полусухое, купаж 97/3 Рислинг и Пино Нуар.
Лёгкое и приятное вино.
В бокале нежный прозрачный розовый цвет как уходящий весенний закат, чуть с рыжиной. В носу лекие красные фрукты, цитрусы, трава и... сама суть клёвого Рислинга - резина, велосипедная шина, машинное масло на тряпке в гараже .. Вкус маслянистый, не без тропических фруктов, с минимальной кислотностью. При этом хрустящее и свежее послевкусие.
Ценник +/-1100р.
Чин! 🍷
#дайтеДве#рислинг#rose
#Paddle_Creek#Riesling
@pro_Wines
Belmas Risling
Россия 🇷🇺, Крым (Севастополь), крепость 13,5%, моносорт Рислинг, о чём нам лаконично сообщено на этикетке Ri.
Отличный Рислинг из линейки, можно сказать, "Менделеев". Кстати, экземпляр занял высокую позицию в рейтинге лучших российских вин.
В носу персики, цитрусы, цветы и грушевые леденцы. Вкус идеальный - яркий, кислотный, нежно фруктовый с долгим интересным минеральным послевкусием. За оформление и внешний вид бутылки - респект. Очень стильно, да и вкусно)).
Ценник +/- 3000р.
Чин! 🍷
#Крым#Севастополь#Belmas#Riesling#Ri
@pro_Wines