summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorYury Selivanov <yury@magic.io>2018-09-21 20:23:15 (GMT)
committerGitHub <noreply@github.com>2018-09-21 20:23:15 (GMT)
commitdb1a80e97aa7217c561fb3627f70be1882de9534 (patch)
tree0b0c1487266415e6b30c937fb446bd48d971560b /Doc
parent7d161726e4ddd2b2cdd7ac58a7e9e9ea3f57a807 (diff)
downloadcpython-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.rst26
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: