gh-104091: Suggest TaskGroup for running background tasks in asyncio.create_task() docs (#155133)
kumaraditya303 <[email protected]> Tue, 04 Aug 2026 02:30:39 -0400 (EDT)
| Newsgroups | gmane.comp.python.cvs |
|---|---|
| Message-ID | <[email protected]> |
https://github.com/python/cpython/commit/36250a9b45cd898aa51c438cfb61fa1408266ffc commit: 36250a9b45cd898aa51c438cfb61fa1408266ffc branch: main author: Kumar Aditya <[email protected]> committer: kumaraditya303 <[email protected]> date: 2026-08-04T12:00:27+05:30 summary: gh-104091: Suggest TaskGroup for running background tasks in asyncio.create_task() docs (#155133) files: M Doc/library/asyncio-task.rst diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst index b6f3662862eb38..38364138a17d79 100644 --- a/Doc/library/asyncio-task.rst +++ b/Doc/library/asyncio-task.rst @@ -288,6 +288,17 @@ Creating tasks # completion: task.add_done_callback(background_tasks.discard) + Note that this approach never awaits the tasks, so if a task + fails, its exception is never retrieved and asyncio logs a + "Task exception was never retrieved" message when the task is + garbage collected. To avoid this, use :class:`asyncio.TaskGroup` + which keeps a strong reference to each task, awaits them and + propagates their exceptions:: + + async with asyncio.TaskGroup() as tg: + for i in range(10): + tg.create_task(some_coro(param=i)) + .. versionadded:: 3.7 .. versionchanged:: 3.8 _______________________________________________ Python-checkins mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mailman3//lists/python-checkins.python.org Member address: [email protected]