@artsstyle · Post #6868 · 24.09.2019 г., 14:24
#Preview @BadMad_Music
Hashtags
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
Пребарај: #preview
@artsstyle · Post #6868 · 24.09.2019 г., 14:24
#Preview @BadMad_Music
Hashtags
@artsstyle · Post #6806 · 08.07.2019 г., 14:14
#Preview
Hashtags
@artsstyle · Post #6780 · 15.06.2019 г., 06:59
#Preview
Hashtags
@artsstyle · Post #6739 · 20.04.2019 г., 11:24
#Preview
Hashtags
@artsstyle · Post #6719 · 23.03.2019 г., 16:50
#Preview
Hashtags
@artsstyle · Post #6666 · 19.12.2018 г., 12:02
#Preview
Hashtags
@artsstyle · Post #6658 · 10.12.2018 г., 12:19
#Preview
Hashtags
@artsstyle · Post #6655 · 10.12.2018 г., 12:06
#Preview
Hashtags
@artsstyle · Post #6651 · 09.12.2018 г., 12:58
#Preview
Hashtags
@artsstyle · Post #6639 · 27.11.2018 г., 21:39
#Preview
Hashtags
@artsstyle · Post #6629 · 16.11.2018 г., 00:40
#Preview
Hashtags
@artsstyle · Post #6626 · 14.11.2018 г., 21:32
#Preview
Hashtags