committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 229 additions and 6 deletions
-
206Doc/library/asyncio-api-index.rst
-
2Doc/library/asyncio-eventloop.rst
-
6Doc/library/asyncio-exceptions.rst
-
2Doc/library/asyncio-queue.rst
-
2Doc/library/asyncio-stream.rst
-
2Doc/library/asyncio-subprocess.rst
-
2Doc/library/asyncio-sync.rst
-
8Doc/library/asyncio-task.rst
-
5Doc/library/asyncio.rst
@ -0,0 +1,206 @@ |
|||
.. currentmodule:: asyncio |
|||
|
|||
|
|||
===================== |
|||
High-level APIs Index |
|||
===================== |
|||
|
|||
This page lists all high-level async/await enabled asyncio APIs. |
|||
|
|||
|
|||
Tasks |
|||
===== |
|||
|
|||
Utilities to run asyncio programs, create Tasks, and |
|||
await on multiple things with timeouts. |
|||
|
|||
.. list-table:: |
|||
:widths: 30 70 |
|||
|
|||
* - :func:`run` |
|||
- Create event loop, run a coroutine, close the loop. |
|||
|
|||
* - :func:`create_task` |
|||
- Start an asyncio Task. |
|||
|
|||
* - ``await`` :func:`sleep` |
|||
- Sleep for a number of seconds. |
|||
|
|||
* - ``await`` :func:`gather` |
|||
- Schedule and wait for things concurrently. |
|||
|
|||
* - ``await`` :func:`wait_for` |
|||
- Run with a timeout. |
|||
|
|||
* - ``await`` :func:`shield` |
|||
- Shield from cancellation. |
|||
|
|||
* - ``await`` :func:`wait` |
|||
- Monitor for completeness. |
|||
|
|||
* - :func:`current_task` |
|||
- Return the current Task. |
|||
|
|||
* - :func:`all_tasks` |
|||
- Return all tasks for an event loop. |
|||
|
|||
* - :class:`Task` |
|||
- Task object. |
|||
|
|||
|
|||
.. rubric:: Examples |
|||
|
|||
* :ref:`Using asyncio.gather() to run things in parallel |
|||
<asyncio_example_gather>`. |
|||
|
|||
* :ref:`Using asyncio.wait_for() to enforce a timeout |
|||
<asyncio_example_waitfor>`. |
|||
|
|||
* :ref:`Cancellation <asyncio_example_task_cancel>`. |
|||
|
|||
* :ref:`Using asyncio.sleep() <asyncio_example_sleep>`. |
|||
|
|||
* See also the main :ref:`Tasks documentation page <coroutine>`. |
|||
|
|||
|
|||
Queues |
|||
====== |
|||
|
|||
Queues should be used to distribute work amongst multiple asyncio Tasks, |
|||
implement connection pools, and pub/sub patterns. |
|||
|
|||
|
|||
.. list-table:: |
|||
:widths: 30 70 |
|||
|
|||
* - :class:`Queue` |
|||
- A FIFO queue. |
|||
|
|||
* - :class:`PriorityQueue` |
|||
- A priority queue. |
|||
|
|||
* - :class:`LifoQueue` |
|||
- A LIFO queue. |
|||
|
|||
|
|||
.. rubric:: Examples |
|||
|
|||
* :ref:`Using asyncio.Queue to distribute workload between several |
|||
Tasks <asyncio_example_queue_dist>`. |
|||
|
|||
* See also the :ref:`Queues documentation page <asyncio-queues>`. |
|||
|
|||
|
|||
Subprocesses |
|||
============ |
|||
|
|||
Utilities to spawn subprocesses and run shell commands. |
|||
|
|||
.. list-table:: |
|||
:widths: 30 70 |
|||
|
|||
* - ``await`` :func:`create_subprocess_exec` |
|||
- Create a subprocess. |
|||
|
|||
* - ``await`` :func:`create_subprocess_shell` |
|||
- Run a shell command. |
|||
|
|||
|
|||
.. rubric:: Examples |
|||
|
|||
* :ref:`Executing a shell command <asyncio_example_subprocess_shell>`. |
|||
|
|||
* See also the :ref:`subprocess APIs <asyncio-subprocess>` |
|||
documentation. |
|||
|
|||
|
|||
Streams |
|||
======= |
|||
|
|||
High-level APIs to work with network IO. |
|||
|
|||
.. list-table:: |
|||
:widths: 30 70 |
|||
|
|||
* - ``await`` :func:`open_connection` |
|||
- Establish a TCP connection. |
|||
|
|||
* - ``await`` :func:`open_unix_connection` |
|||
- Establish a Unix socket connection. |
|||
|
|||
* - ``await`` :func:`start_server` |
|||
- Start a TCP server. |
|||
|
|||
* - ``await`` :func:`start_unix_server` |
|||
- Start a Unix socket server. |
|||
|
|||
* - :class:`StreamReader` |
|||
- High-level async/await object to receive network data. |
|||
|
|||
* - :class:`StreamWriter` |
|||
- High-level async/await object to send network data. |
|||
|
|||
|
|||
.. rubric:: Examples |
|||
|
|||
* :ref:`Example TCP client <asyncio_example_stream>`. |
|||
|
|||
* See also the :ref:`streams APIs <asyncio-streams>` |
|||
documentation. |
|||
|
|||
|
|||
Synchronization |
|||
=============== |
|||
|
|||
Threading-like synchronization primitives that can be used in Tasks. |
|||
|
|||
.. list-table:: |
|||
:widths: 30 70 |
|||
|
|||
* - :class:`Lock` |
|||
- A mutex lock. |
|||
|
|||
* - :class:`Event` |
|||
- An event object. |
|||
|
|||
* - :class:`Condition` |
|||
- A condition object. |
|||
|
|||
* - :class:`Semaphore` |
|||
- A semaphore. |
|||
|
|||
* - :class:`BoundedSemaphore` |
|||
- A bounded semaphore. |
|||
|
|||
|
|||
.. rubric:: Examples |
|||
|
|||
* :ref:`Using asyncio.Event <asyncio_example_sync_event>`. |
|||
|
|||
* See also the documentation of asyncio |
|||
:ref:`synchronization primitives <asyncio-sync>`. |
|||
|
|||
|
|||
Exceptions |
|||
========== |
|||
|
|||
.. list-table:: |
|||
:widths: 30 70 |
|||
|
|||
|
|||
* - :exc:`asyncio.TimeoutError` |
|||
- Raised on timeout by functions like :func:`wait_for`. |
|||
Keep in mind that ``asyncio.TimeoutError`` is **unrelated** |
|||
to the built-in :exc:`TimeoutError` exception. |
|||
|
|||
* - :exc:`asyncio.CancelledError` |
|||
- Raised when a Task is cancelled. See also :meth:`Task.cancel`. |
|||
|
|||
|
|||
.. rubric:: Examples |
|||
|
|||
* :ref:`Handling CancelledError to run code on cancellation request |
|||
<asyncio_example_task_cancel>`. |
|||
|
|||
* See also the full list of |
|||
:ref:`asyncio-specific exceptions <asyncio-exceptions>`. |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue