scrapy/docs/topics/asyncio.rst

1.3 KiB

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> </head>

asyncio

System Message: ERROR/3 (<stdin>, line 7)

Unknown directive type "versionadded".

.. versionadded:: 2.0

Scrapy has partial support :mod:`asyncio`. After you :ref:`install the asyncio reactor <install-asyncio>`, you may use :mod:`asyncio` and :mod:`asyncio`-powered libraries in any :doc:`coroutine <coroutines>`.

System Message: ERROR/3 (<stdin>, line 9); backlink

Unknown interpreted text role "mod".

System Message: ERROR/3 (<stdin>, line 9); backlink

Unknown interpreted text role "ref".

System Message: ERROR/3 (<stdin>, line 9); backlink

Unknown interpreted text role "mod".

System Message: ERROR/3 (<stdin>, line 9); backlink

Unknown interpreted text role "mod".

System Message: ERROR/3 (<stdin>, line 9); backlink

Unknown interpreted text role "doc".

Warning

:mod:`asyncio` support in Scrapy is experimental. Future Scrapy versions may introduce related changes without a deprecation period or warning.

System Message: ERROR/3 (<stdin>, line 13); backlink

Unknown interpreted text role "mod".

Installing the asyncio reactor

To enable :mod:`asyncio` support, set the :setting:`TWISTED_REACTOR` setting to 'twisted.internet.asyncioreactor.AsyncioSelectorReactor'.

System Message: ERROR/3 (<stdin>, line 22); backlink

Unknown interpreted text role "mod".

System Message: ERROR/3 (<stdin>, line 22); backlink

Unknown interpreted text role "setting".

If you are using :class:`~scrapy.crawler.CrawlerRunner`, you also need to install the :class:`~twisted.internet.asyncioreactor.AsyncioSelectorReactor` reactor manually. You can do that using :func:`~scrapy.utils.reactor.install_reactor`:

System Message: ERROR/3 (<stdin>, line 25); backlink

Unknown interpreted text role "class".

System Message: ERROR/3 (<stdin>, line 25); backlink

Unknown interpreted text role "class".

System Message: ERROR/3 (<stdin>, line 25); backlink

Unknown interpreted text role "func".
install_reactor('twisted.internet.asyncioreactor.AsyncioSelectorReactor')

Using custom asyncio loops

You can also use custom asyncio event loops with the asyncio reactor. Set the :setting:`ASYNCIO_EVENT_LOOP` setting to the import path of the desired event loop class to use it instead of the default asyncio event loop.

System Message: ERROR/3 (<stdin>, line 37); backlink

Unknown interpreted text role "setting".
</html>