Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Happening now at the Russian House Brussels: the official Russian language proficiency exam with the Pushkin Institute.
Good luck to all participants!
Прямо сейчас в Русском доме проходит государственный экзамен по русскому языку совместно с Институтом Пушкина.
Желаем удачи участникам!
#RussianHouseBrussels#РусскийДомБрюссель#RFL#TRKI#PushkinInstitute
🎉Внимание, учителя Армении!
Стартует приём заявок на масштабный конкурс «ЛУЧШИЙ УЧИТЕЛЬ ПО-РУССКИ» — и это ваш шанс заявить о себе на всю страну!
📚 Участвовать могут не только преподаватели русского языка и литературы,
но и все педагоги, которые ведут предметы на русском языке —
из любого уголка Армении!
📌Что нужно сделать?
Просто заполнить регистрационную форму 👉https://forms.yandex.ru/u/6863d50290fa7b15c9cc4627/
🗓️ До 1 октября включительно!
🎓Каждому участнику — диплом,
а победителям — ценные призы или поездка в Россию!
Не упустите возможность показать свой профессионализм и любовь к русскому языку!
👥 Организаторы:
Представительство Россотрудничества в Армении
Институт русского языка им. А. С. Пушкина
Посольство РФ в РА
Министерство образования, науки, культуры и спорта РА
📢 Условия: https://disk.yandex.ru/d/YwZJetLFCabwlA
#ЛучшийУчительПоРусски#КонкурсУчителей#РусскийЯзык#Россотрудничество#УчителяАрмении#ОбразованиеРА#PushkinInstitute
@RSGovArmenia
🎉Внимание, учителя Армении!
Стартует приём заявок на масштабный конкурс «ЛУЧШИЙ УЧИТЕЛЬ ПО-РУССКИ» — и это ваш шанс заявить о себе на всю страну!
📚 Участвовать могут не только преподаватели русского языка и литературы,
но и все педагоги, которые ведут предметы на русском языке —
из любого уголка Армении!
📌Что нужно сделать?
Просто заполнить регистрационную форму 👉https://forms.yandex.ru/u/6863d50290fa7b15c9cc4627/
🗓️ До 1 октября включительно!
🎓Каждому участнику — диплом,
а победителям — ценные призы и поездка в Россию!
Не упустите возможность показать свой профессионализм и любовь к русскому языку!
👥 Организаторы:
Представительство Россотрудничества в Армении
Институт русского языка им. А. С. Пушкина
Посольство РФ в РА
Министерство образования, науки, культуры и спорта РА
📢 Условия: https://disk.yandex.ru/d/YwZJetLFCabwlA
#ЛучшийУчительПоРусски#КонкурсУчителей#РусскийЯзык#Россотрудничество#УчителяАрмении#ОбразованиеРА#PushkinInstitute
@RSGovArmenia
🌍 Институт Пушкина приглашает к участию в XXI Международной олимпиаде по русскому языку для зарубежных школьников им. В.Г. Костомарова
✅ Олимпиада имеет богатую историю, начавшуюся в 1972 году, и является одним из самых престижных мероприятий в области русского языка для зарубежных учащихся.
🏆 Олимпиада проводится в три этапа: онлайн-отбор, онлайн-полуфинал и очный финал в Москве. К участию приглашаются ученики старших классов зарубежных школ, изучающих русский язык как иностранный, ученики старших классов зарубежных школ с русским языком обучения, а также индивидуальные участники, изучающие русский язык самостоятельно. Регистрация открыта до 17 августа 2025 года на сайте https://olympiada.pushkininstitute.ru/XXI/
❗️ К участию в олимпиаде не допускаются школьники, имеющие вид на жительство, гражданство Российской Федерации или подавшие заявление о получении гражданства Российской Федерации.
📝 Участникам предстоит продемонстрировать свои знания в различных аспектах русского языка, литературы и культуры. Задания разработаны ведущими специалистами Института Пушкина и охватывают широкий спектр тем, от грамматики до страноведения России.
🎓 Победители и призеры олимпиады получат ценные награды, включая возможность бесплатного обучения в Институте Пушкина в течение двух недель по программам дополнительного образования.
@rossotrudnichestvo@rusembgreece@sootechestvennikigreece
#ИнститутПушкина#ОлимпиадаПоРусскомуЯзыку#РусскийЯзыкЗарубежом#PushkinInstitute#УчимРусский#RussianLanguageOlympiad#РусскийЯзык#РусскаяКультура#РусскийКакИностранный#RussianAsForeign#МеждународнаяОлимпиада