mirror of
https://github.com/frappe/gunicorn.git
synced 2026-01-14 11:09:11 +08:00
add timeout support
This commit is contained in:
parent
80e0acf9db
commit
090bb8fe29
@ -21,6 +21,10 @@ class AsyncWorker(Worker):
|
||||
def __init__(self, *args, **kwargs):
|
||||
Worker.__init__(self, *args, **kwargs)
|
||||
self.worker_connections = self.cfg.worker_connections
|
||||
|
||||
def keepalive_request(self, client, addr):
|
||||
return http.KeepAliveRequest(client, addr, self.address,
|
||||
self.cfg)
|
||||
|
||||
def handle(self, client, addr):
|
||||
try:
|
||||
@ -49,7 +53,9 @@ class AsyncWorker(Worker):
|
||||
util.close(client)
|
||||
|
||||
def handle_request(self, client, addr):
|
||||
req = http.KeepAliveRequest(client, addr, self.address, self.cfg)
|
||||
req = self.keepalive_request(client, addr)
|
||||
if not req:
|
||||
return False
|
||||
try:
|
||||
environ = req.read()
|
||||
if not environ or not req.parser.headers:
|
||||
|
||||
@ -35,6 +35,12 @@ class EventletWorker(AsyncWorker):
|
||||
raise RuntimeError("You need eventlet >= 0.9.7")
|
||||
eventlet.monkey_patch(all=False, socket=True, select=True)
|
||||
|
||||
def keepalive_request(self, client, addr):
|
||||
req = None
|
||||
with eventlet.Timeout(self.cfg.keepalive, False):
|
||||
req = super(EventletWorker, self).keepalive_request(client, addr)
|
||||
return req
|
||||
|
||||
def run(self):
|
||||
self.socket.setblocking(1)
|
||||
|
||||
|
||||
@ -10,6 +10,7 @@ import os
|
||||
|
||||
import gevent
|
||||
from gevent import monkey
|
||||
monkey.noisy = False
|
||||
from gevent import socket
|
||||
from gevent import greenlet
|
||||
from gevent.pool import Pool
|
||||
@ -26,6 +27,12 @@ class GEventWorker(AsyncWorker):
|
||||
from gevent import monkey
|
||||
monkey.patch_all()
|
||||
|
||||
def keepalive_request(self, client, addr):
|
||||
req = None
|
||||
with gevent.Timeout(self.cfg.keepalive, False):
|
||||
req = super(GEventWorker, self).keepalive_request(client, addr)
|
||||
return req
|
||||
|
||||
def run(self):
|
||||
self.socket.setblocking(1)
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user