@Pagermaid_Modify_Plugins · Post #524 · 26.06.2022 г., 08:26
#更新日志#xtaodada 🔨afc90fa: eat 修复问题
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #401 · 15 дек.
Функция 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
Hashtags
Пребарај: #xtaodada
@Pagermaid_Modify_Plugins · Post #524 · 26.06.2022 г., 08:26
#更新日志#xtaodada 🔨afc90fa: eat 修复问题
@Pagermaid_Modify_Plugins · Post #495 · 08.06.2022 г., 09:04
#更新日志#xtaodada 🔨5625abc: 修复 Github Action
@Pagermaid_Modify_Plugins · Post #493 · 16.04.2022 г., 04:41
#更新日志#xtaodada da6541f: news 每日新闻、历史上的今天、天天成语、慧语香风、诗歌天地 b208e8e: everyday_en 每日一句英文句子
@Pagermaid_Modify_Plugins · Post #488 · 13.02.2022 г., 16:02
#更新日志#xtaodada 🔨6068147: vip 支持 彩云、deepl 翻译
@Pagermaid_Modify_Plugins · Post #487 · 13.02.2022 г., 09:41
#更新日志#xtaodada 🔨e4e975f: autobyetg fix a bug
@Pagermaid_Modify_Plugins · Post #486 · 13.02.2022 г., 09:06
#更新日志#xtaodada 🔨779cbae: autobyetg ⚠️安装后 30 秒自动删号
@Pagermaid_Modify_Plugins · Post #485 · 10.02.2022 г., 14:40
#更新日志#xtaodada 🔨c16a4c5: dictionary 查询英语单词/俚语的意思
@Pagermaid_Modify_Plugins · Post #483 · 03.02.2022 г., 08:23
#更新日志#xtaodada 🔨18b5527: neteasedown 支持自动识别发出的网易云链接
@Pagermaid_Modify_Plugins · Post #482 · 01.02.2022 г., 10:45
#更新日志#xtaodada 🔨f091fd4: fix a bug
@Pagermaid_Modify_Plugins · Post #481 · 01.02.2022 г., 10:44
#更新日志#xtaodada 🔨bb77dc7: fix a bug
@Pagermaid_Modify_Plugins · Post #480 · 30.01.2022 г., 08:38
#更新日志#xtaodada 🔨1290a1b: autobackup 凌晨自动备份数据文件
@Pagermaid_Modify_Plugins · Post #478 · 26.01.2022 г., 11:48
#更新日志#xtaodada 🔨d77ce5d: xtao-some 修复 guess 一直获取中