New submission from Lisa Guo <lisali...@yahoo.com>:

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

----------
components: asyncio
messages: 319347
nosy: asvetlov, lguo, yselivanov
priority: normal
severity: normal
status: open
title: connection limit on listening socket in asyncio
type: enhancement
versions: Python 3.8

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue33840>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to