Три способа выполнить множество задач с 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
Перелет Санкт-Петербург - Сургут, авиакомпания UTair, Boeing 737-800. Три с половиной часа пролетели в полусне. Обслуживание фактически отсутствует.
Ииии... Аэропорт в Сургуте, переполненный с утра, с трудом вмещающий в себя путешественников.
И рейс в Белоярский через несколько часов.
#UTair
Boeing 737-800 авиакомпании UTair. Ничего нового, перелет в формате лоукост (т.е. практически без обслуживания). Вылет в 00-20, практически сразу провал в сон...
#UTair
Итак. Авиакомпания ЮТэйр. Рейс Москва (Внуково) - Дубай (Аль-Мактум).
Опытный Boeing 767, широкофюзеляжный самолет на 249 пассажиров.
Да-да, обычно все мы летаем ютами в Сургут, Нягань и Белоярский, но Дубай тоже сойдёт )))
А в Дубае будет транзит и пересадка на следующую авиакомпанию...
#UTair
✈️ 7700
📌B762 рейса UT716 «Дубай-Москва» подал сигнал бедствия
🔵Борт сжигал топливо и сделал более 10 зон ожидания
🔵За его полётом наблюдало около 50 тысяч человек, сделав аварийный рейс самым просматриваемым в мире
⬅️На данный момент самолёт приземлился в аэропорту вылета
Лёгкое небо
#aviation#news#UTair
Вдогонку за рассветом летим в Белоярский!
Турбовинтовой ATR 72-500, ловко жужжа пропеллерами, летит из Сургута за солнцем и теплом. Минус 20.
И лучший город Земли.
#Белоярский#ХМАО
#UTair
Люди и техника работают на пределе возможностей. Подобного по масштабу поиска в Красноярском крае ещё не было.
Семью Усольцевых ищут.
Каждый день — новая попытка, новый маршрут. Заканчиваются ресурсы, устают люди... Добровольцев отряда «ЛизаАлерт» держит надежда и двигают вперёд ваши неравнодушие и помощь.
Для авиации погода нелётная, но БПЛА могут подняться. Сегодня с добровольцем отряда из Москвы доставлены на место поиска три беспилотника с запасом аккумуляторов. БПЛА, надёжные, устойчивые к экстремальным условиям, уже обследуют территорию.
На земле продолжают отработку задач пешие группы и проходимая техника; работают кинологи ГУФСИН, сотрудники полиции и Следственного комитета, курсанты ВИИ СФУ. Привлечены спелеологи и альпинисты. Надёжный тыл добровольцам обеспечивает Красноярское отделение Российского Красного Креста. Плечом к плечу с нами многие дни территорию обследуют добровольцы ПСГ «Сибирь», объединения «Азимут», КРОО СПР «Поиск пропавших детей им. О. Василишиной».
Протяжённость треков за все дни поиска — более 4000 км.
Мы благодарны каждому, кто помог: присоединился к поиску, передал оборудование, доставил к месту поисково-спасательных работ людей и технику.
Благодаря авиакомпании UTair на поиск были доставлены 3 БВС с дополнительными аккумуляторами. А программа лояльности #UtairStatus позволяет нам доставлять специалистов на место поиска, как произошло и в этот раз.
Большое спасибо авиакомпании #UTair за проект #ПоделисьМилями с #ЛизаАлерт. Огромное спасибо всем, кто делится милями с добровольцами.
Если вы хотите помочь или обладаете информацией о местонахождении пропавших, пожалуйста, позвоните на горячую линию отряда «ЛизаАлерт»:
8-800-700-54-52 (бесплатно и круглосуточно) и 112.
#отчетопоиске#Усольцевы#ТудаГдеВасЖдут