Функция asyncio.wait() это еще один способ вызвать множество асинхронных задач.
Она работает в нескольких режимах.
1. Самый простой - ждем завершения всех задач
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(10)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.ALL_COMPLETED
)
for task in done:
try:
print(task.result())
except Exception as e:
print(e)
Очень похоже на gather, но работает не так.
▫️возвращает не результаты, а два сета с объектами Task у которых можно забрать результат через task.result() если они в списке done
▫️не гарантирует порядок результатов так как оба объекта это set
▫️не выбрасывает исключение когда оно появляется, а сохраняет его в Task. Исключение появится когда попробуете забрать резултьтат.
2. Ждем завершения первой задачи, даже если там ошибка.
async def main():
tasks = [asyncio.create_task(do_it(i)) for i in range(3)]
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_COMPLETED
)
# в done может быть несколько задач!
for task in done:
try:
print(task.result())
except Exception as e:
print(f"Fail: {e}")
# Оставшиеся задачи в pending, как правило, нужно отменить, иначе они будут продолжать работать
for task in pending:
task.cancel()
В сете done будут таски которые успели завершится, причем как успешно так и нет.
3. До первой ошибки.
Тоже самое, но с аргументом FIRST_EXCEPTION
done, pending = await asyncio.wait(
tasks,
return_when=asyncio.FIRST_EXCEPTION
)
Функция завершается как только первая задача упадет с ошибкой.
Учтите, что в любом случае done вы можете обранужить несколько задач, как с ошибками так и успешные.
↗️ Полный листинг примеров здесь
#async
Внимание! Киберспорт! 🫶
Green Plum Sauce "The E-Sports Circle’s Toxic Assembly Camp" / «Собрание злокачественной опухоли киберспорта»
187 глав + 7 экстр
Тренер х Капитан команды
Суперстратег Линь Янь каким-то образом попадает в новеллу о киберспорте за год до того, как разворачивается основной сюжет. Пользуясь случаем, он основывает собственный клуб и собирает в него еще никому неизвестные бриллианты. Но первая же встреча с капитаном, которого нужно завербовать, проходит… необычно)))
Читать на английском
Читать на русском
Обложки тайские
#новеллы#CAMP
#активности#CAMP
Проявляем активность в новом модульном блокчейне второго уровня, который использует данные из социальных платформ, под названием Camp Network.
Проект привлёк более $29m от: 1kx(lead), Blockchain Capital(lead), OKX Ventures, Hypersphere и др. при крайней оценке FDV $250m.
Что делать:
1. Запрашиваем тестовые токены в кране
2. Переходим на сайт и выполняем социальные задания
3. Выполняем квесты здесь;
4. Минтим NFT здесь по мере их появления;
5. Делаем деплой смарт-контракта на Onchaingm
6. Взаимодействуем с экосистемными проектами здесь
Финансовые затраты:
0$
Australie: vous vous souvenez des photos des camps de quarantaine que je vous avais montrées?
La première ministre du Queensland admet face caméra que les #camp de #quarantaine qu'ils ont construits seront, entre autres, pour les non-vaccinés. (la vidéo est coupée où elle mentionnait aussi les "retours de voyage") https://twitter.com/HeleneSutter/status/1451347706002223111
🏕 I tried several trends with my groupmates at the camp, including this frozen people video:)
☺️ Huge thanks for the best video editor of the Yale family -> @notjustadiary
✍️ Feel free to share your thoughts and comments; will be sharing memorable moments in upcoming days!
Stay tuned (hard)! #ibrat#camp
Дорогие подписчики,
Вы уже заметили, как часто на канале появляются материалы с базы ✈️ TRAINING?
Хотите посетить базу и провести на ней 2 недели в настоящей авиационной атмосфере и научиться новым навыкам среди профессионалов?
Тогда у меня для вас хорошие новости 🔥
Специально для Лёгкого неба, летная школа Авиатор предоставляет скидку
5 000 рублей для наших подписчиков по промокоду LEGKOENEBO⚡️
Что вас ждет в лагере:
⏺ Изучение управления дроном или совершенствование своих навыков
⏺ 2 недели на ухоженной территории среди хвойных лесов
⏺ Поход на 2 дня с настоящими приключениями
⏺ Дружный коллектив и общение с единомышленниками
И многое другое
Звучит здорово? Приглашаю вас и ваших друзей в лагерь!
Для подробностей и записи переходите в бота: @Aviator_Legkoenebo_camp_bot
Количество мест ограничено
Лёгкое небо | Донат
#aviation#camp#Авиатор#S7TRAINING
Дорогие подписчики,
Вы уже заметили, как часто на канале появляются материалы с базы ✈️ TRAINING?
Хотите посетить базу и провести на ней 2 недели в настоящей авиационной атмосфере и научиться новым навыкам среди профессионалов?
Тогда у меня для вас хорошие новости 🔥
Специально для Лёгкого неба, летная школа Авиатор предоставляет скидку
5 000 рублей для наших подписчиков по промокоду LEGKOENEBO⚡️
Что вас ждет в лагере:
⏺ Изучение управления дроном или совершенствование своих навыков
⏺ 2 недели на ухоженной территории среди хвойных лесов
⏺ Поход на 2 дня с настоящими приключениями
⏺ Дружный коллектив и общение с единомышленниками
И многое другое
Звучит здорово? Приглашаю вас и ваших друзей в лагерь!
Для подробностей и записи переходите в бота: @Aviator_Legkoenebo_camp_bot
Количество мест ограничено
Лёгкое небо | Донат
#aviation#camp#Авиатор#S7TRAINING