Clarify the first-class-citizen nature of asyncio support (#7599)

This commit is contained in:
Adrian 2026-06-11 10:51:46 +02:00 committed by GitHub
parent 4cb049cb15
commit e7f229f5b2
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 16 additions and 8 deletions

View File

@ -4,19 +4,27 @@
asyncio asyncio
======= =======
Scrapy has partial support for :mod:`asyncio`. After you :ref:`install the Scrapy supports :mod:`asyncio` natively. New projects created with
asyncio reactor <install-asyncio>`, you may use :mod:`asyncio` and :command:`scrapy startproject` have asyncio enabled by default, and you can use
:mod:`asyncio`-powered libraries in any :doc:`coroutine <coroutines>`. :mod:`asyncio` and :mod:`asyncio`-powered libraries in any :doc:`coroutine
<coroutines>`.
The rest of this page covers advanced topics. If you are starting a new project,
no additional setup is needed.
.. _install-asyncio: .. _install-asyncio:
Installing the asyncio reactor Configuring the asyncio reactor
============================== ===============================
To enable :mod:`asyncio` support, your :setting:`TWISTED_REACTOR` setting needs New projects generated with :command:`scrapy startproject` have the asyncio
to be set to ``'twisted.internet.asyncioreactor.AsyncioSelectorReactor'``, reactor configured by default. No manual setup is needed.
which is the default value.
The :setting:`TWISTED_REACTOR` setting controls which Twisted reactor Scrapy
uses. Its default value is
``'twisted.internet.asyncioreactor.AsyncioSelectorReactor'``, which enables
:mod:`asyncio` support.
If you are using :class:`~scrapy.crawler.AsyncCrawlerRunner` or If you are using :class:`~scrapy.crawler.AsyncCrawlerRunner` or
:class:`~scrapy.crawler.CrawlerRunner`, you also need to :class:`~scrapy.crawler.CrawlerRunner`, you also need to