[issue30300] asyncio.Controller

Yury Selivanov report at bugs.python.org
Mon May 29 19:42:32 EDT 2017


Yury Selivanov added the comment:

I'm not sure we want this to be in asyncio: it's a very high-level object somewhere in between the low-level and the application level.  Some things off the top of my head that users will want from this API:

- detailed logging or hooks to implement it
- hooks on thread start / stop
- coroutines to run before starting the server
- coroutines to run before stopping the loop
- custom undhandled exceptions handlers
- type of the server created: TCP/UDP/Unix
- ability to configure SSL
- etc

Since asyncio is no longer provisional, it won't be possible to evolve the API in bugfix releases, which will likely make it impossible to use for many users until 3.8.

In general, the advice for things like this is to put them on PyPI, gather some feedback, and sort out the API details.

-1 to add this in 3.7 in its current state.

P.S. It would be interesting to try to evolve the idea a bit further: it would be interesting if Controller was a high-level description of a service and we had a separate concept of ControllerRunner to run Controllers in threads, processes and corotuines.  Maybe build something like erlang supervisor trees out of them.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue30300>
_______________________________________


More information about the Python-bugs-list mailing list