bpo-33649: Fix gather() docs; fix title; few other nits. (GH-9475)

This commit is contained in:
Yury Selivanov 2018-09-21 16:23:15 -04:00 committed by GitHub
parent 7d161726e4
commit db1a80e97a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 15 additions and 11 deletions

View File

@ -129,7 +129,8 @@ other coroutines::
async def main(): async def main():
# Nothing happens if we just call "nested()". # 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() nested()
# Let's do it differently now and await it: # 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 aggregate list of returned values. The order of result values
corresponds to the order of awaitables in *aws*. 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 If *return_exceptions* is ``True``, exceptions are treated the
same as successful results, and aggregated in the result list. 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*. (that have not completed yet) are also *cancelled*.
If any Task or Future from the *aws* sequence is *cancelled*, it is 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*. propagated regardless of *return_exceptions*.
Shielding Tasks From Cancellation Shielding From Cancellation
================================= ===========================
.. awaitablefunction:: shield(aw, \*, loop=None) .. awaitablefunction:: shield(aw, \*, loop=None)
Protect an :ref:`awaitable object <asyncio-awaitables>` Protect an :ref:`awaitable object <asyncio-awaitables>`
from being :meth:`cancelled <Task.cancel>`. from being :meth:`cancelled <Task.cancel>`.
*aw* can be a coroutine, a Task, or a Future-like object. If If *aw* is a coroutine it is automatically scheduled as a Task.
*aw* is a coroutine it is automatically scheduled as a Task.
The statement:: The statement::
@ -609,7 +612,7 @@ Task Object
.. class:: Task(coro, \*, loop=None, name=None) .. 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. :ref:`coroutine <coroutine>`. Not thread-safe.
Tasks are used to run coroutines in event loops. Tasks are used to run coroutines in event loops.
@ -831,7 +834,7 @@ Task Object
is used to get the current loop. is used to get the current loop.
This method is **deprecated** and will be removed in 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) .. classmethod:: current_task(loop=None)
@ -841,7 +844,8 @@ Task Object
is used to get the current loop. is used to get the current loop.
This method is **deprecated** and will be removed in 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: .. _asyncio_generator_based_coro: