summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVo Minh Thu <vmt@openerp.com>2013-05-02 14:59:07 +0200
committerVo Minh Thu <vmt@openerp.com>2013-05-02 14:59:07 +0200
commitd6477c23e333507fe89a3ddd888eb7c78ca70c2b (patch)
tree0b451b64d5b361266756c0a7d8ed9d1db09d78f2
parenta31af55ef519933a04bbff7792ea4b697557010b (diff)
[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
-rw-r--r--openerp/__init__.py2
-rw-r--r--openerp/service/workers.py11
2 files changed, 11 insertions, 2 deletions
diff --git a/openerp/__init__.py b/openerp/__init__.py
index 111677cd707..285c6af85d9 100644
--- a/openerp/__init__.py
+++ b/openerp/__init__.py
@@ -19,7 +19,7 @@
#
##############################################################################
-""" OpenERP core library.
+""" OpenERP core library..
"""
diff --git a/openerp/service/workers.py b/openerp/service/workers.py
index ecd5084b093..4106b69a632 100644
--- a/openerp/service/workers.py
+++ b/openerp/service/workers.py
@@ -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