Socket is inited by master process

bzr revid: nicolas.vanhoren@openerp.com-20130110163314-449euw1z69eebtpz
This commit is contained in:
niv-openerp 2013-01-10 17:33:14 +01:00
parent 383314f273
commit cb33e09d1b
1 changed files with 8 additions and 2 deletions

View File

@ -181,6 +181,12 @@ class Multicorn(object):
self.socket.setblocking(0)
self.socket.bind(self.address)
self.socket.listen(8)
# long polling socket
self.long_polling_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.long_polling_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.long_polling_socket.setblocking(0)
self.long_polling_socket.bind(('0.0.0.0', 8072))
self.long_polling_socket.listen(8)
def stop(self, graceful=True):
if graceful:
@ -349,8 +355,8 @@ class WorkerLongPolling(Worker):
Worker.start(self)
from gevent.wsgi import WSGIServer
httpd = WSGIServer(('0.0.0.0', 8072), self.multi.app)
httpd.serve_forever()
self.server = WSGIServer(self.multi.long_polling_socket, self.multi.app)
self.server.serve_forever()
class WorkerBaseWSGIServer(werkzeug.serving.BaseWSGIServer):
""" werkzeug WSGI Server patched to allow using an external listen socket