@honyakusha · Post #167 · 28.10.2022 г., 12:04
站起来啦 #brick#toy#sembo
TGINSIGHT SIMILAR POSTS
Изворен канал @pythonotes · Post #402 · 22 дек.
Отдельно разберём TaskGroup, который пришел на замену gather в Python 3.11. Ключевые отличия ▫️create_task() возвращает объект asyncio.Task, у которого есть соответствюущие методы управления. То есть у нас больше контроля ▫️это контекстный менеджер, который гарантирует что все таски будут остановлены по выходу из контекста ▫️ошибка автоматически отменяет незавершенные задачи, ▫️except* передает нам ExceptionGroup, в котором каждую ошибку можно обработать отдельно import asyncio import random async def do_it() -> str: if random.random() < 0.1: raise ValueError('Oops') delay = random.uniform(0.5, 1.5) await asyncio.sleep(delay) return delay async def main(): try: async with asyncio.TaskGroup() as tg: for _ in range(10): tasks.append(tg.create_task(do_it())) for t in tasks: print(t.result()) except *ValueError as e: for err in e.exceptions: print(err) asyncio.run(main()) Рекомендую изучить страницу Coroutines and Tasks из документации, где представлено больше интересных примеров и механизмов - таймауты - отмена задач - создание задач из другого потока #async
Hashtags
Пребарај: #sembo
@honyakusha · Post #167 · 28.10.2022 г., 12:04
站起来啦 #brick#toy#sembo
@honyakusha · Post #166 · 25.10.2022 г., 13:05
第六包终于完成了 #brick#toy#sembo
@honyakusha · Post #164 · 23.10.2022 г., 08:31
#brick#toy#sembo 第四包第五包都弄完了,大柱段完工,小柱段开始。
@honyakusha · Post #162 · 22.10.2022 г., 15:22
#brick#toy#sembo 第三包拼完了。
@honyakusha · Post #160 · 21.10.2022 г., 14:05
第二包完成。 #brick#toy#sembo
@honyakusha · Post #159 · 21.10.2022 г., 05:55
#brick#toy#sembo 第一包完成。
@honyakusha · Post #158 · 21.10.2022 г., 05:55
#brick#toy#sembo 巨大无比。