[FIX] long-polling: use start()/stop() instead of serve_forever().

This is done so detecting a possible PPID change works.
(So that the worker dies when its parent dies.)

bzr revid: vmt@openerp.com-20130502125907-2t96a26eo6c09x2f
This commit is contained in:
Vo Minh Thu 2013-05-02 14:59:07 +02:00
parent a31af55ef5
commit d6477c23e3
2 changed files with 11 additions and 2 deletions

View File

@ -19,7 +19,7 @@
#
##############################################################################
""" OpenERP core library.
""" OpenERP core library..
"""

View File

@ -373,7 +373,16 @@ class WorkerLongPolling(Worker):
Worker.start(self)
from gevent.wsgi import WSGIServer
self.server = WSGIServer(self.multi.long_polling_socket, self.multi.app)
self.server.serve_forever()
self.server.start()
def stop(self):
self.server.stop()
def sleep(self):
time.sleep(1)
def process_work(self):
pass
class WorkerBaseWSGIServer(werkzeug.serving.BaseWSGIServer):
""" werkzeug WSGI Server patched to allow using an external listen socket