This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title: remove run_until_complete
Type: enhancement Stage: resolved
Components: asyncio Versions: Python 3.6
process
Status: closed Resolution: wont fix
Dependencies: Superseder:
Assigned To: Nosy List: Decorater, gvanrossum, vstinner, yselivanov
Priority: normal Keywords:

Created on 2016-08-15 23:42 by Decorater, last changed 2022-04-11 14:58 by admin. This issue is now closed.

Messages (2)
msg272809 - (view) Author: Decorater (Decorater) * Date: 2016-08-15 23:42
I use a library that uses run_until_complete that is used for HTTP connections. However it does not work well when you want to reconnect anything that makes it start via recursion. So, I am suggesting the removal of run_until_complete and then tell everyone that uses it to replace their code that had it with run_forever.
( and to have their start function to create a event loop so that way if the loop is closed recursing to restart it after closed would make it not throw a RuntimeError)

run_forever seems to be almost exactly alike run_until_complete except it can run forever.

Pros with removing run_until_complete:
+ A lot easier to handle.
+ No pain from run_until_complete.
+ Cleanup some *code* in asyncio.
+ Helps with heavy http load for reconnecting websockets if they use run_forever instead.

Cons:
- Existing code from libs or anyone that uses run_until_complete will break.
- run_forever can still throw a RuntimeError if you try to use run_forever after closing a event loop.
- Event Loop would have to be recreated or reopened after being closed.
msg272811 - (view) Author: Guido van Rossum (gvanrossum) * (Python committer) Date: 2016-08-15 23:48
This sounds like you're overreacting -- just because you were bit by some code that used run_until_complete() incorrectly that doesn't mean we should break everybody's code that is using it (most I'm sure are using it correctly).

If you want help understanding what went wrong, use the python-tulip@googlegroups.com mailing list.
History
Date User Action Args
2022-04-11 14:58:34adminsetgithub: 71957
2016-08-15 23:48:32gvanrossumsetstatus: open -> closed
resolution: wont fix
messages: + msg272811

stage: resolved
2016-08-15 23:42:41Decoratercreate