Функция 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
📍Date: Friday, 27 June 2025
🕢Time: 19:40–20:20
📌Venue: BURBON Wine Bar, 47 Sako i Vantsetti Street, Yekaterinburg
🎶An African band to perform at the Ural Music Night festival in Yekaterinburg!
The Office of the Honorary Consul of South Africa, together with the festival team, has invited 4Groove—a dynamic band formed by Nigerian students of Ural Federal University (UrFU)—to take part in this year’s program.
Come and enjoy the rhythm of Africa! 🎤🔥
The project is supported by the Presidential Fund for Cultural Initiatives, the National Project Tourism and Hospitality Industry, the Governor of the Sverdlovsk Region, and the Yekaterinburg City Administration.
Sber is the festival’s official general partner.
#UralMusicNight#4Groove#URFU#Yekaterinburg#SouthAfrica#AfricanMusic#MusicFestival
🎶An African band to perform at the Ural Music Night festival in Yekaterinburg!
The Office of the Honorary Consul of South Africa, together with the festival team, has invited 4Groove—a dynamic band formed by Nigerian students of Ural Federal University (UrFU)—to take part in this year’s program.
🎗 Last year, 4Groove performed a heartfelt charity concert for children and parents at the Children’s Oncology and Hematology Center. 📹 Watch the short videos from that performance—pure joy and energy!
📍Date: Friday, 27 June 2025
🕢Time: 19:40–20:20
📌Venue: BURBON Wine Bar, 47 Sako i Vantsetti Street, Yekaterinburg
Come and enjoy the rhythm of Africa! 🎤🔥
The project is supported by the Presidential Fund for Cultural Initiatives, the National Project Tourism and Hospitality Industry, the Governor of the Sverdlovsk Region, and the Yekaterinburg City Administration.
Sber is the festival’s official general partner.
#UralMusicNight#4Groove#URFU#Yekaterinburg#SouthAfrica#AfricanMusic#MusicFestival
📍Когда: пятница, 27 июня 2025 года
🕢Во сколько: 19:40–20:20
📌Где: Винотека БУРБОН, ул. Сакко и Ванцетти 47, Екатеринбург
🎶Африканская группа выступит на фестивале «Ночь музыки» в Екатеринбурге!
Офис Почётного консула ЮАР и организаторы фестиваля пригласили к участию 4Groove — музыкальный коллектив, созданный студентами УрФУ из Нигерии.
Приходите — будет по-настоящему жарко! 🎤🔥
Проект реализуется при поддержке Президентского фонда культурных инициатив, Национального проекта «Туризм и индустрия гостеприимства», Губернатора Свердловской области и Администрации города Екатеринбурга. Генеральный партнер фестиваля — Сбер.
#НочьМузыки#4Groove#УрФУ#Екатеринбург#ЮАР#Африка#Музыка#АфриканскаяМузыка
🎶Африканская группа выступит на фестивале «Ночь музыки» в Екатеринбурге!
Офис Почётного консула ЮАР и организаторы фестиваля пригласили к участию 4Groove — музыкальный коллектив, созданный студентами УрФУ из Нигерии.
🎗 В прошлом году 4Groove уже участвовала в фестивале, дав тёплый благотворительный концерт для детей и родителей в Центре детской онкогематологии. 📹 Посмотрите короткие видео с того выступления — настоящий заряд радости и энергии!
📍Когда: пятница, 27 июня 2025 года
🕢Во сколько: 19:40–20:20
📌Где: Винотека БУРБОН, ул. Сакко и Ванцетти, 47, Екатеринбург
Приходите — будет по-настоящему жарко! 🎤🔥
Проект реализуется при поддержке Президентского фонда культурных инициатив, Национального проекта «Туризм и индустрия гостеприимства», Губернатора Свердловской области и Администрации города Екатеринбурга. Генеральный партнер фестиваля — Сбер.
#НочьМузыки#4Groove#УрФУ#Екатеринбург#ЮАР#Африка#Музыка#АфриканскаяМузыка
🎶 An African band lit up the crowd at Ural Music Night in Yekaterinburg!
Thanks to the collaboration between the Office of the Honorary Consul of South Africa and the festival organizers, 4Groove — a vibrant band formed by Nigerian students at Ural Federal University (URFU) — was invited to perform.
📹 Check out these energetic performance videos! 🎤🔥
#UralMusicNight#4Groove#URFU#Yekaterinburg#SouthAfrica#AfricanMusic#LiveMusic#MusicUnites
🎶 Африканская группа зажгла на фестивале «Ночь музыки» в Екатеринбурге!
Благодаря сотрудничеству Офиса Почётного консула ЮАР и команды фестиваля, на одной из площадок выступил 4Groove — яркий музыкальный коллектив, созданный студентами УрФУ из Нигерии.
📹 Наслаждайтесь видео с их энергичного выступления! 🎤🔥
#НочьМузыки#4Groove#УрФУ#Екатеринбург#ЮАР#Африка#Музыка#АфриканскаяМузыка#МузыкаОбъединяет