diff options
author | Yury Selivanov <yury@magic.io> | 2018-09-21 20:23:15 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-21 20:23:15 (GMT) |
commit | db1a80e97aa7217c561fb3627f70be1882de9534 (patch) | |
tree | 0b0c1487266415e6b30c937fb446bd48d971560b /Doc | |
parent | 7d161726e4ddd2b2cdd7ac58a7e9e9ea3f57a807 (diff) | |
download | cpython-db1a80e97aa7217c561fb3627f70be1882de9534.zip cpython-db1a80e97aa7217c561fb3627f70be1882de9534.tar.gz cpython-db1a80e97aa7217c561fb3627f70be1882de9534.tar.bz2 |
bpo-33649: Fix gather() docs; fix title; few other nits. (GH-9475)
Diffstat (limited to 'Doc')
-rw-r--r-- | Doc/library/asyncio-task.rst | 26 |
1 files changed, 15 insertions, 11 deletions
diff --git a/Doc/library/asyncio-task.rst b/Doc/library/asyncio-task.rst index b33a7df..e995fb6 100644 --- a/Doc/library/asyncio-task.rst +++ b/Doc/library/asyncio-task.rst @@ -129,7 +129,8 @@ other coroutines:: async def main(): # Nothing happens if we just call "nested()". - # (a coroutine object is created but not awaited) + # A coroutine object is created but not awaited, + # so it *won't run at all*. nested() # Let's do it differently now and await it: @@ -313,12 +314,15 @@ Running Tasks Concurrently aggregate list of returned values. The order of result values corresponds to the order of awaitables in *aws*. + If *return_exceptions* is ``False`` (default), the first + raised exception is immediately propagated to the task that + awaits on ``gather()``. Other awaitables in the *aws* sequence + **won't be cancelled** and will continue to run. + If *return_exceptions* is ``True``, exceptions are treated the same as successful results, and aggregated in the result list. - Otherwise, the first raised exception is immediately propagated - to the task that awaits on ``gather()``. - If ``gather`` is *cancelled*, all submitted awaitables + If ``gather()`` is *cancelled*, all submitted awaitables (that have not completed yet) are also *cancelled*. If any Task or Future from the *aws* sequence is *cancelled*, it is @@ -368,16 +372,15 @@ Running Tasks Concurrently propagated regardless of *return_exceptions*. -Shielding Tasks From Cancellation -================================= +Shielding From Cancellation +=========================== .. awaitablefunction:: shield(aw, \*, loop=None) Protect an :ref:`awaitable object <asyncio-awaitables>` from being :meth:`cancelled <Task.cancel>`. - *aw* can be a coroutine, a Task, or a Future-like object. If - *aw* is a coroutine it is automatically scheduled as a Task. + If *aw* is a coroutine it is automatically scheduled as a Task. The statement:: @@ -609,7 +612,7 @@ Task Object .. class:: Task(coro, \*, loop=None, name=None) - A :class:`Future`-like object that wraps a Python + A :class:`Future-like <Future>` object that runs a Python :ref:`coroutine <coroutine>`. Not thread-safe. Tasks are used to run coroutines in event loops. @@ -831,7 +834,7 @@ Task Object is used to get the current loop. This method is **deprecated** and will be removed in - Python 3.9. Use the :func:`all_tasks` function instead. + Python 3.9. Use the :func:`asyncio.all_tasks` function instead. .. classmethod:: current_task(loop=None) @@ -841,7 +844,8 @@ Task Object is used to get the current loop. This method is **deprecated** and will be removed in - Python 3.9. Use the :func:`current_task` function instead. + Python 3.9. Use the :func:`asyncio.current_task` function + instead. .. _asyncio_generator_based_coro: |