mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
save listener socket name so we can handle buffered keep-alive requests *after*
listener has been closed (i.e. stopped accepting during worker teardown)
This commit is contained in:
parent
5e8eeadc44
commit
62f6fb2d33
@ -32,9 +32,10 @@ class AsyncWorker(base.Worker):
|
||||
try:
|
||||
parser = http.RequestParser(self.cfg, client)
|
||||
try:
|
||||
listener_name = listener.getsockname()
|
||||
if not self.cfg.keepalive:
|
||||
req = six.next(parser)
|
||||
self.handle_request(listener, req, client, addr)
|
||||
self.handle_request(listener_name, req, client, addr)
|
||||
else:
|
||||
# keepalive loop
|
||||
while True:
|
||||
@ -78,14 +79,14 @@ class AsyncWorker(base.Worker):
|
||||
finally:
|
||||
util.close(client)
|
||||
|
||||
def handle_request(self, listener, req, sock, addr):
|
||||
def handle_request(self, listener_name, req, sock, addr):
|
||||
request_start = datetime.now()
|
||||
environ = {}
|
||||
resp = None
|
||||
try:
|
||||
self.cfg.pre_request(self, req)
|
||||
resp, environ = wsgi.create(req, sock, addr,
|
||||
listener.getsockname(), self.cfg)
|
||||
listener_name, self.cfg)
|
||||
environ["wsgi.multithread"] = True
|
||||
self.nr += 1
|
||||
if self.alive and self.nr >= self.max_requests:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user