Три способа выполнить множество задач с asyncio
Функция для примера:
async def do_it(n):
await asyncio.sleep(random.uniform(0.5, 1))
return n
1. Последовательный вызов
async def main():
for i in range(100):
result = await do_it(i)
Такой вызов имеет смысл только тогда, когда результат одной задачи требуется для вызова следующей.
Если они независимы, то это антипаттерн, так как аналогичен простому синхронному вызову по очереди.
2. Упорядоченный результат
async def main():
tasks = [do_it(i) for i in range(100)]
results = await asyncio.gather(*tasks)
Выполняет корутины конкурентно и возвращает результат в виде списка.
Полезен когда требуется получить результаты в том же порядке в котором задачи отправлены.
3. Результат по мере готовности
tasks = [asyncio.create_task(do_it(i)) for i in range(100)]
for cor in asyncio.as_completed(tasks):
result = await cor
Так же выполняет корутины конкурентно, но не гарантирует порядок. Результат возвращается по мере готовности, каждый отдельно.
Полезен когда нужно обработать любой ответ как можно скорее.
#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#КосмическиеНовости#НовостиКосмоса#Будущее#Наука#Технологии