Функция 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
Привет!
Вчера в Риме прошла совместная акция группы российских активистов в Италии Russi Contro La Guerra и ФБК - акция за запрет выступления Валерия Гергиева в Казерте, запланированного на 27 июля.
Акция вызвала живой интерес у прохожих, как итальянцев, так и иностранцев. Проходившие мимо группы российских туристов одобрительно кивали но старались не задерживаться, возле "нежелательных" для Российской Федерации, материалов. Репрессии режима возможны за любое несогласие.
⚪ Журналист из La Repubblica подробно расспрашивал, что же не так с Гергиевым. Мы рассказали о том, что талантливый дирижёр является "агентом" режима и всегда поддерживал аннексию Крыма и агрессию РФ в Украину.
Теперь ждём публикации.
Ждём вас всех в следующее воскресенье 27 июля к 19:00 в Казерте.
‼️ Нельзя позволить этому концерту пройти, как ни в чем не бывало!
#unestatedare#unestatedascagnozzodelre#russicontrolaguerra#vocidellarussia#gergiev#culturarussa#musicadellaguerra#dirittiumani#propaganda#stoppropagandarussa
- Все это время мы были в постоянном контакте с местной полицией, отвечавшей за безопасность протестующих.
Этим утром нам сообщили новости о том, что концерт Гергиева в Казерте отменен! Наша совместная кампания и общая координация сработала. Мы считаем это общей победой, которая доказывает, что все возможно, когда активисты объединяются ради единой цели, а демократия в стране дает им возможность выразить свое мнение❤️
Но мы не расслабляемся! Приезд Гергиева в Италию – лишь одна из многочисленных попыток российских пропагандистов вернуться в европейское информационное поле. Мы считаем, что люди, зарабатывающие деньги на репрессиях анти-военных россиян и на убийствах украинцев, должны нести ответственность за свои действия. Именно поэтому мы будем настаивать, чтобы Италия внесла Гергиева в свои санкционные списки.
#unestatedare#unestatedascagnozzodelre#russicontrolaguerra#vocidellarussia#radicaliitaliani#gergiev#culturarussa#musicadellaguerra#dirittiumani#propaganda
Il nostro compito è smascherare questa menzogna. Non censuriamo la musica classica, ma ci opponiamo a chi per decenni ha servito Putin e ora vuole incassare soldi e applausi in Italia usando Šostakovič e Rachmaninov! Non permetteremo che la propaganda putiniana penetri ancora una volta in Europa sotto le spoglie di eventi culturali.
😡 Per anni Valerij Gergiev ha dato concerti letteralmente tra le rovine bombardate di Siria, Ucraina e Georgia. Ora arriva al festival “Un’Estate da Re” 🎵 di Caserta per presentare lo Stato russo come qualcosa di grande e sublime, continuatore della tradizione culturale russa. Ma lo Stato russo non ha niente a che fare con la vera cultura e la vera arte, perchè non ha niente a che fare con l'approccio umanistico e l'empatia. Lo Stato russo oggi sa solo uccidere, reprimere e mentire💥.
📢 Invitiamo tutti coloro a cui importa che il direttore d’orchestra di Putin porti in UE i suoi soldi di propaganda a unirsi a noi: la vera cultura è di manifestare contro le violenti stragi in Ucraina e le repressioni in Russia, e difendere i valori umani, dove le vite di vicini e cittadini entrambi contano veramente.
#unestatedare#unestatedascagnozzodelre#russicontrolaguerra#vocidellarussia#radicaliitaliani#gergiev#culturarussa#musicadellaguerra#dirittiumani#propaganda
❗️ВЫХОДИТЕ С RUSSI CONTRO LA GUERRA ПРОТИВ ВЫСТУПЛЕНИЯ ГЕРГИЕВА В ЕВРОПЕ❗️
📆 Дата и время: 27 июля, 19:00-21:00
📍Место: Piazza Carlo di Borbone, напротив входа в Reggio di Caserta
👔👗Дресс-код: Вечерний. Приходите нарядными, не стесняйтесь прихватить с собой перчатки и вееры! Мы устроим свое культурное событие
Митинг против выступления Валерия Гергиева — "Дирижера путинской войны" состоится 27 июня в городе Caserta, регион Кампания🇮🇹 с 19:00 напротив Королевского Дворца Казерты.
Мы, антивоенные россияне из Russi Contro la Guerra⚪️🔵⚪️,
не можем стоять в стороне, когда путинский пропагандист на деньги от налогоплательщиков ЕС оправдывает авторитарный милитаристский режим, прикрываясь ширмой русского искусства, и оправдывает кровавую путинскую диктатуру, прикрываясь нашим культурным наследием 🏛. Но именно мы, антивоенные россияне должны показать лживость этой параллели. Мы не цензурируем классическое искусство, но мы против тех, кто на протяжении десятилетий прислуживал Путину, и теперь хочет собирать овации и деньги в Италии, прикрываясь Шостаковичем и Рахманиновым! Мы не допустим, чтобы путинская пропаганда проникала в Европу снова и снова под видом культурных событий.
😡 На протяжении многих лет Валерий Гергиев играл на руинах разбомбленных городов Сирии, Украины и Грузии. И теперь он приехал на музыкальный фестиваль “Un’estate da Re” 🎵 в Казерте, чтобы представлять итальянцам современное российское государство как что-то великое и прекрасное, что-то, что продолжает традицию русской культуры. Но мы должны опровергнуть этот тезис и разорвать связь между действительно качественным искусством и путинизмом.
📢 Поэтому мы призываем всех, кому небезразлично, что путинский дирижёр вывозит свои пропагандистские деньги в ЕС, притворяясь светской фигурой, прийти на митинг, чтобы показать, что настоящая культура — это выступать против убийств в Украине и репрессий в России.
#unestatedare#unestatedascagnozzodelre#russicontrolaguerra#vocidellarussia#radicaliitaliani#gergiev#culturarussa#musicadellaguerra#dirittiumani#propaganda#stoppropagandarussa