mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
Updates to fix errors under load.
This commit is contained in:
parent
f4f3429d15
commit
34db4a6669
@ -96,7 +96,7 @@ class Arbiter(object):
|
||||
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
||||
sock.setsockopt(socket.IPPROTO_TCP, socket.TCP_NODELAY, 1)
|
||||
sock.bind(address)
|
||||
sock.listen(64)
|
||||
sock.listen(2048)
|
||||
return sock
|
||||
|
||||
def run(self):
|
||||
|
||||
@ -1,9 +1,10 @@
|
||||
|
||||
import BaseHTTPServer
|
||||
import errno
|
||||
import logging
|
||||
import os
|
||||
import select
|
||||
import signal
|
||||
import socket
|
||||
|
||||
import http
|
||||
import util
|
||||
@ -36,15 +37,23 @@ class Worker(object):
|
||||
if ret[0]:
|
||||
break
|
||||
|
||||
(conn, addr) = self.socket.accept()
|
||||
log.info("Client connected: %s:%s" % addr)
|
||||
conn.setblocking(1)
|
||||
try:
|
||||
self.handle(conn, addr)
|
||||
except:
|
||||
log.exception("Error processing request.")
|
||||
finally:
|
||||
conn.close()
|
||||
# Accept until we hit EAGAIN
|
||||
while True:
|
||||
try:
|
||||
(conn, addr) = self.socket.accept()
|
||||
except socket.error, e:
|
||||
if e[0] in [errno.EAGAIN, errno.EINTR]:
|
||||
continue # Jump back to select
|
||||
raise # Uh oh!
|
||||
|
||||
#log.info("Client connected: %s:%s" % addr)
|
||||
conn.setblocking(1)
|
||||
try:
|
||||
self.handle(conn, addr)
|
||||
except:
|
||||
log.exception("Error processing request.")
|
||||
finally:
|
||||
conn.close()
|
||||
|
||||
def handle(self, conn, client):
|
||||
while True:
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user