From 2a6d0299d97251d93e1a10976096b2354f8f625b Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Mon, 9 Sep 2013 22:08:25 +0200 Subject: [PATCH] revert to use a separate executable for gevent, add --dev option bzr revid: al@openerp.com-20130909200825-sm5c3invmg7tt70j --- openerp-gevent | 13 +++++++++++++ openerp/__init__.py | 10 ---------- openerp/service/workers.py | 4 +++- openerp/tools/config.py | 4 ++-- 4 files changed, 18 insertions(+), 13 deletions(-) create mode 100755 openerp-gevent diff --git a/openerp-gevent b/openerp-gevent new file mode 100755 index 00000000000..e1c9fa797e1 --- /dev/null +++ b/openerp-gevent @@ -0,0 +1,13 @@ +#!/usr/bin/env python + +import gevent.monkey +gevent.monkey.patch_all() +import psycogreen.gevent +psycogreen.gevent.patch_psycopg() + +import openerp + +openerp.evented = True + +if __name__ == "__main__": + openerp.cli.main() diff --git a/openerp/__init__.py b/openerp/__init__.py index 2cb3bce21d6..fe439838497 100644 --- a/openerp/__init__.py +++ b/openerp/__init__.py @@ -27,16 +27,6 @@ import sys # Is the server running with gevent. evented = False -for i in sys.argv: - if i.startswith('--gevent'): - evented = True - break - -if evented: - import gevent.monkey - gevent.monkey.patch_all() - import psycogreen.gevent - psycogreen.gevent.patch_psycopg() # Make sure the OpenERP server runs in UTC. This is especially necessary # under Windows as under Linux it seems the real import of time is diff --git a/openerp/service/workers.py b/openerp/service/workers.py index 73df8cc5aaf..50aa8f245d0 100644 --- a/openerp/service/workers.py +++ b/openerp/service/workers.py @@ -326,7 +326,9 @@ class Multicorn(CommonServer): def long_polling_spawn(self): nargs = stripped_sys_argv('--pidfile','--workers') - nargs += ['--gevent'] + cmd = nargs[0] + cmd = os.path.join(os.path.dirname(cmd), "openerp-gevent") + nargs[0] = cmd popen = subprocess.Popen(nargs) self.long_polling_pid = popen.pid diff --git a/openerp/tools/config.py b/openerp/tools/config.py index cc3c187c775..a399f6d133c 100644 --- a/openerp/tools/config.py +++ b/openerp/tools/config.py @@ -106,7 +106,7 @@ 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.") + group.add_option("--dev", dest="dev", action="store_true", my_default=False, help="Activate the developer mode. (code and views auto-reload).") parser.add_option_group(group) # XML-RPC / HTTP @@ -399,7 +399,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', 'dev' ] for arg in keys: