gh-104254: Document the optional keyword-only "context" argument to Task constructor (#104251)

(This was added in 3.11. It was already documented for `create_task()`, but not for `Task()`.)
This commit is contained in:
Itamar Ostricher 2023-05-06 18:31:53 -07:00 committed by GitHub
parent 42f54d1f92
commit 4ee2068c34
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 8 additions and 4 deletions

View File

@ -1014,7 +1014,7 @@ Introspection
Task Object
===========
.. class:: Task(coro, *, loop=None, name=None)
.. class:: Task(coro, *, loop=None, name=None, context=None)
A :class:`Future-like <Future>` object that runs a Python
:ref:`coroutine <coroutine>`. Not thread-safe.
@ -1049,9 +1049,10 @@ Task Object
APIs except :meth:`Future.set_result` and
:meth:`Future.set_exception`.
Tasks support the :mod:`contextvars` module. When a Task
is created it copies the current context and later runs its
coroutine in the copied context.
An optional keyword-only *context* argument allows specifying a
custom :class:`contextvars.Context` for the *coro* to run in.
If no *context* is provided, the Task copies the current context
and later runs its coroutine in the copied context.
.. versionchanged:: 3.7
Added support for the :mod:`contextvars` module.
@ -1063,6 +1064,9 @@ Task Object
Deprecation warning is emitted if *loop* is not specified
and there is no running event loop.
.. versionchanged:: 3.11
Added the *context* parameter.
.. method:: done()
Return ``True`` if the Task is *done*.