diff options
| author | Vo Minh Thu <vmt@openerp.com> | 2013-01-11 16:31:13 +0100 |
|---|---|---|
| committer | Vo Minh Thu <vmt@openerp.com> | 2013-01-11 16:31:13 +0100 |
| commit | 8119d8920074dfc05a8bc9e256019a7b79c83d97 (patch) | |
| tree | ca1ef9b6a11da6101a6967e5c6769370a38bcb7c /openerpcommand/web.py | |
| parent | 3da57500c279cd19fa6d561eef149d708383138d (diff) | |
[ADD] oe web: run an OpenERP web process.
bzr revid: vmt@openerp.com-20130111153113-ue2ybx33e2gh99sx
Diffstat (limited to 'openerpcommand/web.py')
| -rw-r--r-- | openerpcommand/web.py | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/openerpcommand/web.py b/openerpcommand/web.py new file mode 100644 index 00000000000..632aa482646 --- /dev/null +++ b/openerpcommand/web.py @@ -0,0 +1,56 @@ +""" +Run a normal OpenERP HTTP process. +""" + +import logging +import os +import threading + +import openerp.cli.server +import openerp.service.wsgi_server +import openerp.tools.config + +import common + +_logger = logging.getLogger(__name__) + +def run(args): + os.environ["TZ"] = "UTC" + + if args.addons: + args.addons = args.addons.split(':') + else: + args.addons = [] + + config = openerp.tools.config + config['addons_path'] = ','.join(args.addons) + + openerp.cli.server.check_root_user() + openerp.netsvc.init_logger() + #openerp.cli.server.report_configuration() + openerp.cli.server.configure_babel_localedata_path() + openerp.cli.server.setup_signal_handlers() + + target = openerp.service.wsgi_server.serve + if not args.gevent: + arg = (args.interface, int(args.port), args.threaded) + threading.Thread(target=target, args=arg).start() + openerp.cli.server.quit_on_signals() + else: + print "The --gevent option is not yet implemented." + +def add_parser(subparsers): + parser = subparsers.add_parser('web', + description='Run a normal OpenERP HTTP process. By default a ' + 'singly-threaded Werkzeug server is used.') + common.add_addons_argument(parser) + parser.add_argument('--interface', default='0.0.0.0', + help='HTTP interface to listen on (default is %(default)s)') + parser.add_argument('--port', metavar='INT', default=8069, + help='HTTP port to listen on (default is %(default)s)') + parser.add_argument('--threaded', action='store_true', + help='Use a multithreaded Werkzeug server (incompatible with --gevent)') + parser.add_argument('--gevent', action='store_true', + help="Use gevent's WSGI server (incompatible with --threaded)") + + parser.set_defaults(run=run) |
