Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Merck seeks first U.S. authorization for COVID-19 pill
Merck said it has applied for U.S. emergency use authorization for its tablet to treat mild-to-moderate patients of COVID-19, putting it on course to become the first oral antiviral medication for the disease.
#COVID#Merck#COVIDTablet#News#Reuters
Subscribe: http://smarturl.it/reuterssubscribe
Reuters brings you the latest business, finance and breaking news video from around the globe. Our reputation for accuracy and impartiality is unparalleled.
Get the latest news on: http://reuters.com/
Follow Reuters on Facebook: https://www.facebook.com/Reuters
Follow Reuters on Twitter: https://twitter.com/Reuters
Follow Reuters on Instagram: https://www.instagram.com/reuters/?hl=en
➖@reutersworldchannel➖
Merck Summer Camp 2026 in Germany 🇩🇪 (Fully Funded) 🫡📢
Visit: https://opportunitiescorners.com/merck-innovation-cup-summer-camp/
The Summer Camp will take Place in Frankfurt in August 2026📍. Open to all Nationals.
The Program Covers Airfare, Accommodation and Food Expenses. 🎉😎
Deadline: 31st Jan 2026
#Merck#SummerCamp#Germany#OpportunitiesCorners
ЛЕКАРСТВЕННАЯ ТЕРАПИЯ В ОНКОЛОГИИ МОСКВЫ: ВЗГЛЯД В БУДУЩЕЕ
Уважаемые коллеги!
⚡ Напоминаем, что продолжается регистрация на конференцию "ЛЕКАРСТВЕННАЯ ТЕРАПИЯ В ОНКОЛОГИИ МОСКВЫ: ВЗГЛЯД В БУДУЩЕЕ".
С нетерпением ждем встречи с каждым участником 🫵
Уверены, этот день будет максимально плодотворным и интересным. Не упустите возможность принять участие в живом общении и дискуссии с нашими экспертами!
📅Дата мероприятия: 25 марта 2023 г.
⏰Время мероприятия: с 10:00 до 18:00
📍Место проведения: отель Holiday Inn Moscow Sokolniki, г. Москва, Русаковская улица, д. 24
📌Регистрация и трансляция на сайте: https://medicalconference.ru/webinar_250323
🤝Партнеры: АО «Астеллас Фарма», НТК Мерк Россия, ООО «Эйсай»
#МосковскоеОнкологическоеОбщество
#ЛекарственнаяТерапиявОнкологии
#Astellas
#Merck
#Eisai
❗ВНИМАНИЕ❗ВАЖНАЯ ИНФОРМАЦИЯ❗
Московское онкологическое общество 25 марта с 10:00 до 18:00 проводит конференцию «Лекарственная терапия в онкологии Москвы: взгляд в будущее».
Не упустите возможность личного присутствия столь важном мероприятии с участием ведущих российских экспертов в области лекарственного лечения онкологических заболеваний. Участники имеют уникальную возможность лично задать интересующие вопросы нашим экспертам и получить ответы профессионалов своего дела!
Места ограничены!
📍Место проведения: отель Holiday Inn Moscow Sokolniki, г. Москва, Русаковская улица, д. 24
📌Регистрация и трансляция на сайте: https://medicalconference.ru/webinar_250323
🤝Партнеры: АО «Астеллас Фарма», НТК Мерк Россия, ООО «Эйсай»
Программа мероприятия в следующем посте👉
#МосковскоеОнкологическоеОбщество
#ЛекарственнаяТерапиявОнкологии
#Astellas
#Merck
#Eisai
Donc quand 2 grands fabricants de médicaments génériques en #Inde stoppent leur essai du #Molnupiravir de #Merck, parce qu'il ne marche pas sur les #Covid19 modérés...
Olivier #Véran en commande 50.000 doses. 😅
D'ailleurs Merck a arrêté lui-même son essai sur les patients #Covid hospitalisés (pour tester en outpatients)... La boussole sud quoi https://www.reuters.com/business/healthcare-pharmaceuticals/aurobindo-pharma-stop-molnupiravir-trial-moderate-covid-19-patients-2021-10-08/https://www.businesswire.com/news/home/20210415005258/en/https://www.lavoixdunord.fr/1090028/article/2021-10-26/c-est-quoi-le-molnupiravir-medicament-anti-covid-dont-la-france-commande-50-000