summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVo Minh Thu <vmt@openerp.com>2013-01-18 16:25:11 +0100
committerVo Minh Thu <vmt@openerp.com>2013-01-18 16:25:11 +0100
commited0a292f5d2f766dd0be3cbf258d1f05a13fbbbf (patch)
tree53445bd33d26342f0541d909b7053c723fa89f3d
parenta4120a879adf2b50dd18ed8a6310b9bae65f0209 (diff)
[IMP] gevent: no longer a command-line flag (always used in multi-process, never otherwise)
The internal flag is in openerp.__init__ (as the multi_process flag). bzr revid: vmt@openerp.com-20130118152511-57u4gxyolz0hd4y8
-rw-r--r--openerp/__init__.py2
-rw-r--r--openerp/cli/server.py10
-rw-r--r--openerp/service/__init__.py5
-rw-r--r--openerp/service/workers.py2
-rw-r--r--openerp/service/wsgi_server.py2
-rw-r--r--openerp/tools/config.py3
6 files changed, 8 insertions, 16 deletions
diff --git a/openerp/__init__.py b/openerp/__init__.py
index c9db7076e71..307170b9033 100644
--- a/openerp/__init__.py
+++ b/openerp/__init__.py
@@ -51,6 +51,8 @@ wsgi.register_wsgi_handler = wsgi.wsgi_server.register_wsgi_handler
# its own copy of the data structure and we don't need to care about
# locks between threads.
multi_process = False
+# Is the server running with gevent.
+evented = False
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/openerp/cli/server.py b/openerp/cli/server.py
index 0df13ffb3a7..84a818c0c5d 100644
--- a/openerp/cli/server.py
+++ b/openerp/cli/server.py
@@ -230,20 +230,10 @@ def main(args):
check_root_user()
openerp.tools.config.parse_config(args)
- if openerp.tools.config.options["gevent"]:
- _logger.info('Using gevent mode')
- import gevent.monkey
- gevent.monkey.patch_all()
- import gevent_psycopg2
- gevent_psycopg2.monkey_patch()
-
check_postgres_user()
openerp.netsvc.init_logger()
report_configuration()
- if openerp.tools.config.options["gevent"]:
- _logger.info('Using gevent mode')
-
config = openerp.tools.config
configure_babel_localedata_path()
diff --git a/openerp/service/__init__.py b/openerp/service/__init__.py
index dd8d4fe9152..dd654b4c8a2 100644
--- a/openerp/service/__init__.py
+++ b/openerp/service/__init__.py
@@ -34,6 +34,7 @@ import web_services
import web_services
import wsgi_server
+import openerp
import openerp.modules
import openerp.netsvc
import openerp.osv
@@ -91,13 +92,13 @@ def start_services():
# Start the WSGI server.
wsgi_server.start_service()
# Start the main cron thread.
- if not openerp.tools.config.options["gevent"]:
+ if not openerp.evented:
cron.start_service()
def stop_services():
""" Stop all services. """
# stop services
- if not openerp.tools.config.options["gevent"]:
+ if not openerp.evented:
cron.stop_service()
netrpc_server.stop_service()
wsgi_server.stop_service()
diff --git a/openerp/service/workers.py b/openerp/service/workers.py
index 7321978e859..3e8df86fede 100644
--- a/openerp/service/workers.py
+++ b/openerp/service/workers.py
@@ -354,7 +354,7 @@ class WorkerLongPolling(Worker):
self.watchdog_timeout = None
def start(self):
- config.options["gevent"] = True
+ openerp.evented = True
_logger.info('Using gevent mode')
import gevent.monkey
gevent.monkey.patch_all()
diff --git a/openerp/service/wsgi_server.py b/openerp/service/wsgi_server.py
index 010a8cde957..196b3f5db7d 100644
--- a/openerp/service/wsgi_server.py
+++ b/openerp/service/wsgi_server.py
@@ -424,7 +424,7 @@ def serve():
# TODO Change the xmlrpc_* options to http_*
interface = config['xmlrpc_interface'] or '0.0.0.0'
port = config['xmlrpc_port']
- if not openerp.tools.config.options["gevent"]:
+ if not openerp.evented:
httpd = werkzeug.serving.make_server(interface, port, application, threaded=True)
else:
from gevent.wsgi import WSGIServer
diff --git a/openerp/tools/config.py b/openerp/tools/config.py
index dcbf26783e3..c4b52c10b31 100644
--- a/openerp/tools/config.py
+++ b/openerp/tools/config.py
@@ -108,7 +108,6 @@ class configmanager(object):
help="specify additional addons paths (separated by commas).",
action="callback", callback=self._check_addons_path, nargs=1, type="string")
group.add_option("--load", dest="server_wide_modules", help="Comma-separated list of server-wide modules default=web")
- group.add_option("--gevent", dest="gevent", action="store_true", my_default=False, help="Activate the GEvent mode, this also desactivate the cron.")
parser.add_option_group(group)
# XML-RPC / HTTP
@@ -412,7 +411,7 @@ class configmanager(object):
'list_db', 'xmlrpcs', 'proxy_mode',
'test_file', 'test_enable', 'test_commit', 'test_report_directory',
'osv_memory_count_limit', 'osv_memory_age_limit', 'max_cron_threads', 'unaccent',
- 'workers', 'limit_memory_hard', 'limit_memory_soft', 'limit_time_cpu', 'limit_time_real', 'limit_request', 'gevent'
+ 'workers', 'limit_memory_hard', 'limit_memory_soft', 'limit_time_cpu', 'limit_time_real', 'limit_request',
]
for arg in keys: