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.

Author yselivanov
Recipients barry, giampaolo.rodola, njs, pitrou, vstinner, yselivanov
Date 2017-05-29.23:42:31
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1496101352.4.0.0757294277358.issue30300@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2017-05-29 23:42:32yselivanovsetrecipients: + yselivanov, barry, pitrou, vstinner, giampaolo.rodola, njs
2017-05-29 23:42:32yselivanovsetmessageid: <1496101352.4.0.0757294277358.issue30300@psf.upfronthosting.co.za>
2017-05-29 23:42:32yselivanovlinkissue30300 messages
2017-05-29 23:42:31yselivanovcreate