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 lguo
Recipients asvetlov, lguo, yselivanov
Date 2018-06-11.21:10:29
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1528751429.93.0.592728768989.issue33840@psf.upfronthosting.co.za>
In-reply-to
Content
I'd like to re-open the discussion on pause_server/resume_server that's been discussed here:

https://groups.google.com/forum/?utm_source=digest&utm_medium=email#!topic/python-tulip/btGHbh5kUUM

with PR:

https://github.com/python/asyncio/pull/448

We would like to set a max_connection parameters to a listening socket. Whenever it reaches this number with open accepted sockets, it stops accepting new connections until a user request is served, response sent back, and the connection closed. This is useful for a web application where the more user requests accepted and processed in-flight isn't necessarily better for performance. It would be great if we could dynamically change this value as well.

Some more detailed behavior:

- it can be either a per loop parameter, or per server parameter
- the number of currently open accepted connections is counted against this limit
- if max connection is reached, remove the listening socket from the loop so it back pressures new connections to kernel and other processes can take them
- when total number of accepted connections drops below max connection, put the listening socket back in the loop
- it can be dynamically configured but has no effect on currently already accepted connections (useful for graceful shutdown)

Lisa
History
Date User Action Args
2018-06-11 21:10:29lguosetrecipients: + lguo, asvetlov, yselivanov
2018-06-11 21:10:29lguosetmessageid: <1528751429.93.0.592728768989.issue33840@psf.upfronthosting.co.za>
2018-06-11 21:10:29lguolinkissue33840 messages
2018-06-11 21:10:29lguocreate