diff options
| -rw-r--r-- | odoo/__init__.py | 7 | ||||
| -rw-r--r-- | odoo/cli/command.py | 2 | ||||
| -rw-r--r-- | odoo/service/server.py | 5 | ||||
| -rwxr-xr-x | setup/setup_dev.py | 9 |
4 files changed, 11 insertions, 12 deletions
diff --git a/odoo/__init__.py b/odoo/__init__.py index 03a2dd5e9e1..a16b371ebe7 100644 --- a/odoo/__init__.py +++ b/odoo/__init__.py @@ -9,7 +9,12 @@ # Is the server running with gevent. import sys evented = False -if sys.modules.get("gevent") is not None: +if len(sys.argv) > 1 and sys.argv[1] == 'gevent': + sys.argv.remove('gevent') + import gevent.monkey + gevent.monkey.patch_all() + import psycogreen.gevent + psycogreen.gevent.patch_psycopg() evented = True # Is the server running in prefork mode (e.g. behind Gunicorn). diff --git a/odoo/cli/command.py b/odoo/cli/command.py index fa22fd5baf1..75aa392fdfb 100644 --- a/odoo/cli/command.py +++ b/odoo/cli/command.py @@ -62,3 +62,5 @@ def main(): if command in commands: o = commands[command]() o.run(args) + else: + sys.exit('Unknow command %r' % (command,)) diff --git a/odoo/service/server.py b/odoo/service/server.py index 3d181396a6f..b44640edbd6 100644 --- a/odoo/service/server.py +++ b/odoo/service/server.py @@ -443,9 +443,8 @@ class PreforkServer(CommonServer): def long_polling_spawn(self): nargs = stripped_sys_argv() - cmd = os.path.join(os.path.dirname(nargs[0]), "odoo.py") - nargs = [cmd, 'gevent'] + nargs[1:] - popen = subprocess.Popen([sys.executable] + nargs) + cmd = [sys.executable, sys.argv[0], 'gevent'] + nargs[1:] + popen = subprocess.Popen(cmd) self.long_polling_pid = popen.pid def worker_pop(self, pid): diff --git a/setup/setup_dev.py b/setup/setup_dev.py index dfea4b67d74..5ddac8b1a6f 100755 --- a/setup/setup_dev.py +++ b/setup/setup_dev.py @@ -153,14 +153,7 @@ def main(): elif len(sys.argv) == 2 and sys.argv[1] in cmds: cmds[sys.argv[1]]() else: - if len(sys.argv) > 1 and sys.argv[1] == 'gevent': - sys.argv.remove('gevent') - import gevent.monkey - gevent.monkey.patch_all() - import psycogreen.gevent - psycogreen.gevent.patch_psycopg() - import odoo - odoo.cli.main() + sys.exit('Unknow command. Command available: %r' % (cmds.keys(),)) if __name__ == "__main__": main() |
