Функция 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
😄Check
➖➖➖➖➖➖
🔘check as a verb can mean examine the quality, condition or suitability of something.
🔘Can you check this essay for me?
🔘Check can mean find out about something.
🔘Could you check which room we're meeting in?
🔘Check is an examination to make sure something is correct or in a suitable condition.
🔘There are security checks on the way into the concert hall.
🔜If you play chess, check is what you say when you can win.
🔘Check mate. I win!
#Check👨🏫@America
➖➖➖➖➖➖➖➖➖➖➖➖
🆕 Crypto News @Money
😁 Crypto Game @Egame
🇺🇸 US News @America
🇯🇵 Japan News @Japan
🇦🇪 UAE News @Dubai
▶️ Popular Movies @Videos
😜 Best Funny Video @Funnys
iMessage/R...:
Name: 1-资源名称/iMessage短信群发系统
Size: 2-资源大小/每个虚拟机大概在3.5G
3-资源简介/只需一台电脑即可快速实现iMessage短信群发、海外短信推送及苹果推信!我们的智能群发系统支持全球范围高效送达,具备以下优势:
1.无需复杂设备--单台电脑操作,简单易用,一键批量发送
2.覆盖广泛--支持iMessage、国际短信及苹果推信,直达用户手
3.精准触达--自定义内容,灵活选客户群体,提升营销转化率;稳定
4.高效--专为外贸、电商、跨境业务设计,确保高送达率。适用于企业推广、活动通知、客户维护等场景,助您低成本拓展海外市场!
Link: 👉Press me and click START to get the hidden link
#check#求转存
♾@gdsharing♾Google Drive限制了日分享流量:求补链