Недавно делал быстрый прототип асинхронного приложения в котором требовалось вызывать много синхронного кода. Да, я знаю, что это не лучший дизайн, но нужно было быстрое решение на один процесс и без очередей. Поэтому я выполнял код в потоках.
Выглядело это примерно так:
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
Астронавтка улетела на сотни тысяч километров от кухни — и поставила рекорд.
Кристина Кох в составе лунной миссии Artemis II сейчас уходит на дистанцию более 400 000 км от Земли и уже стала женщиной, которая улетела дальше всех в истории.
Это, по совместительству, максимальное официально задокументированное расстояние между женщиной и кухней — рекорды, которых мы точно не заслужили, но очень любим. 😆🚀
#космос#Artemis2#гендерныеСтереотипы
А вот и видео отделения сервисного модуля от капсулы Orion, входа в атмосферу и приводнения корабля в Тихийокеан📸
Также тут видно кадры с МКС, экипажу которой посчастливилось увидеть корабль Orion при входе в атмосферу
☄️
И конечно еще несколько фотографий из миссии Artemis II📸
Хайрезы в комментариях
#nasa#orion#artemis#artemis2
А пока космический корабль Orion продолжает свой полет, давайте посмотрим на фотографии запуска ракеты SLS в рамках миссии Artemis II от фотографов из Космического центра имени Кеннеди📸
Взлет
🚀
#nasa#orion#sls#artemis#artemis2
🚀Астронавты NASA вновь направляются к Луне — впервые за последние полвека.
Четверо участников миссии Artemis II отправились в полёт к лунной орбите. Экипаж занял свои места на борту за несколько часов до старта и завершил все необходимые проверки. Перед запуском командир Рид Вайсман вместе с коллегами по традиции сыграл короткую партию в карты с руководителем отряда астронавтов. Считается, что это помогает «отвести» неудачу — и в этот раз командир проиграл, что расценивается как благоприятный знак. За трансляцией старта на YouTube-канале агентства наблюдали более 2,8 миллиона зрителей.
До последнего момента сохранялась неопределённость: погодные условия могли помешать запуску. К тому же незадолго до старта возникла проблема в системе аварийного прерывания полёта, однако специалисты оперативно её устранили.
Тем временем Белый дом опубликовал видео с заявлением Дональд Трамп, в котором он подчеркнул, что США остаются страной первооткрывателей, а космос — это следующий большой рубеж. В миссии задействованы ракета Space Launch System и корабль Orion. Полёт станет важным этапом подготовки к будущей высадке человека на Луну — впервые со времён программы Аполлон.
На орбите экипаж займётся тестированием систем «Ориона», включая ручное управление — это необходимо для отработки манёвров и точного позиционирования корабля перед будущими миссиями. Затем астронавты совершат облёт Луны, который продлится около четырёх дней, удалившись более чем на 7000 километров от её обратной стороны. После завершения полёта корабль вернётся на Землю и приводнится в Тихом океане.
Первая миссия программы Artemis состоялась в 2022 году, и в дальнейшем NASA планирует сделать такие экспедиции регулярными.
#NASA#Artemis#Artemis2#Луна#Космос#Астронавты#КосмическаяМиссия#ЗапускРакеты#ИсследованиеКосмоса#SpaceExploration#MoonMission#КосмическиеНовости#НовостиКосмоса#Будущее#Наука#Технологии