asyncio(非同期I/O)¶
バージョン 2.0 で追加.
Scrapyは asyncio
を部分的にサポートしています。 asyncioリアクターのインストール の後で、任意の コルーチン で asyncio
および asyncio
を利用したライブラリを使用できます。
警告
Scrapyでの asyncio
のサポートは実験的なものであり、実稼働環境ではまだ推奨されていません。 将来のScrapyバージョンでは、非推奨の期間や警告なしに関連する変更が導入される可能性があります。
asyncioリアクターのインストール¶
asyncio
サポートを有効にするには、 TWISTED_REACTOR
設定を 'twisted.internet.asyncioreactor.AsyncioSelectorReactor'
に設定します。
CrawlerRunner
を使用している場合は、 AsyncioSelectorReactor
リアクターも手動でインストールする必要があります。 install_reactor()
を使用してこれを行うことができます:
install_reactor('twisted.internet.asyncioreactor.AsyncioSelectorReactor')
カスタムasyncioループの使用¶
asyncioリアクターでカスタムasyncioイベント・ループを使用することもできます。 ASYNCIO_EVENT_LOOP
設定を目的のイベント・ループ・クラスのインポート・パスに設定して、デフォルトのasyncioイベント・ループの代わりに使用します。