Title: Event loop implementation docs advertise set_event_loop which doesn't work with
Type: Stage:
Components: asyncio, Documentation Versions: Python 3.9, Python 3.8, Python 3.7
Status: open Resolution:
Dependencies: Superseder:
Assigned To: docs@python Nosy List: asvetlov, docs@python, hniksic, yselivanov
Priority: normal Keywords:

Created on 2019-10-09 17:14 by hniksic, last changed 2019-10-09 17:36 by yselivanov.

Messages (2)
msg354288 - (view) Author: Hrvoje Nikšić (hniksic) * Date: 2019-10-09 17:14
The docs of SelectorEventLoop and ProactorEventLoop contain examples that call asyncio.set_event_loop:

      selector = selectors.SelectSelector()
      loop = asyncio.SelectorEventLoop(selector)

But this won't have any effect on code that uses, because creates a fresh event loop. Since is the recommended way to execute async code and is used consistently throughout the documentation, this might be confusing to someone who tries to e.g. use the proactor loop on Windows.

I propose the following:

* add a disclaimer that instantiating the event loop won't affect calls to, and that loop.run_until_complete() must be used; and

* link to asyncio.set_event_loop_policy(), which does work with, but doesn't allow fine-tuning the details, such as which selector to use for the SelectorEventLoop.
msg354289 - (view) Author: Yury Selivanov (yselivanov) * (Python committer) Date: 2019-10-09 17:36
Yes, docs updates sound good.
Date User Action Args
2019-10-09 17:36:13yselivanovsetmessages: + msg354289
2019-10-09 17:15:18hniksicsettitle: Event loop implementation docs advertise set_event_loop -> Event loop implementation docs advertise set_event_loop which doesn't work with
2019-10-09 17:14:39hniksiccreate