summaryrefslogtreecommitdiff
path: root/openerpcommand/web.py
diff options
context:
space:
mode:
authorAntony Lesuisse <lesuisse@gmail.com>2014-05-29 18:33:04 +0200
committerAntony Lesuisse <lesuisse@gmail.com>2014-05-29 18:33:04 +0200
commitd4624fa826a5e9542782f2c53c8ba2c766d093bc (patch)
treebe214779eb6d1f17157aa48e72fbcbf95405e38b /openerpcommand/web.py
parent045ecc603e67911a5390c812cb6b5b123d9c190e (diff)
[IMP] repository cleanup
- move packaging stuff to setup - remove historical stuff - remove oe, odoo-cmd-fme will be merged with the convered commands - add an odoo.py script to run odo and boostrap it - simplify README - prepare to move documentation to the github wiki
Diffstat (limited to 'openerpcommand/web.py')
-rw-r--r--openerpcommand/web.py93
1 files changed, 0 insertions, 93 deletions
diff --git a/openerpcommand/web.py b/openerpcommand/web.py
deleted file mode 100644
index 5d9d429244b..00000000000
--- a/openerpcommand/web.py
+++ /dev/null
@@ -1,93 +0,0 @@
-"""
-Run a normal OpenERP HTTP process.
-"""
-
-import logging
-import os
-import signal
-
-import common
-
-_logger = logging.getLogger(__name__)
-
-def mk_signal_handler(server):
- def signal_handler(sig, frame):
- """
- Specialized signal handler for the evented process.
- """
- print "\n\n\nStopping gevent HTTP server...\n\n\n"
- server.stop()
- return signal_handler
-
-def setup_signal_handlers(signal_handler):
- SIGNALS = (signal.SIGINT, signal.SIGTERM)
- map(lambda sig: signal.signal(sig, signal_handler), SIGNALS)
-
-def run(args):
- # Note that gevent monkey patching must be done before importing the
- # `threading` module, see http://stackoverflow.com/questions/8774958/.
- if args.gevent:
- import gevent
- import gevent.monkey
- import gevent.wsgi
- import psycogreen.gevent
- gevent.monkey.patch_all()
- psycogreen.gevent.patch_psycopg()
- import threading
- import openerp
- import openerp.cli.server
- import openerp.service.wsgi_server
- import openerp.tools.config
- config = openerp.tools.config
-
- os.environ["TZ"] = "UTC"
- common.set_addons(args)
-
- openerp.multi_process = True
- common.setproctitle('openerp-web')
-
- openerp.cli.server.check_root_user()
- openerp.netsvc.init_logger()
- #openerp.cli.server.report_configuration()
-
- target = openerp.service.wsgi_server.serve
- if not args.gevent:
- openerp.evented = False
- openerp.cli.server.setup_signal_handlers(openerp.cli.server.signal_handler)
- # TODO openerp.multi_process with a multi-threaded process probably
- # doesn't work very well (e.g. waiting for all threads to complete
- # before killing the process is not implemented).
- arg = (args.interface, int(args.port), args.threaded)
- threading.Thread(target=target, args=arg).start()
- openerp.cli.server.quit_on_signals()
- else:
- openerp.evented = True
-
- app = openerp.service.wsgi_server.application
- server = gevent.wsgi.WSGIServer((args.interface, int(args.port)), app)
- setup_signal_handlers(mk_signal_handler(server))
- try:
- server.serve_forever()
- except KeyboardInterrupt:
- try:
- server.stop()
- gevent.shutdown()
- except KeyboardInterrupt:
- sys.stderr.write("Forced shutdown.\n")
- gevent.shutdown()
-
-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)