def run(args): import openerp import openerp.cli.server import openerp.tools.config import openerp.service.cron config = openerp.tools.config os.environ["TZ"] = "UTC" common.set_addons(args) args.database = args.database or [] config['log_handler'] = [':WARNING', 'openerp.addons.base.ir.ir_cron:DEBUG'] openerp.multi_process = True common.setproctitle('openerp-cron [%s]' % ', '.join(args.database)) 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(openerp.cli.server.signal_handler) import openerp.addons.base if args.database: for db in args.database: openerp.cli.server.preload_registry(db) openerp.service.cron.start_service() openerp.cli.server.quit_on_signals() else: print "No database given."
def run(args): import openerp import openerp.cli.server import openerp.tools.config import openerp.service.cron config = openerp.tools.config os.environ["TZ"] = "UTC" common.set_addons(args) args.database = args.database or [] config['log_handler'] = [ ':WARNING', 'openerp.addons.base.ir.ir_cron:DEBUG' ] openerp.multi_process = True common.setproctitle('openerp-cron [%s]' % ', '.join(args.database)) openerp.cli.server.check_root_user() openerp.netsvc.init_logger() #openerp.cli.server.report_configuration() openerp.cli.server.setup_signal_handlers(openerp.cli.server.signal_handler) import openerp.addons.base if args.database: for db in args.database: openerp.cli.server.preload_registry(db) openerp.service.cron.start_service() openerp.cli.server.quit_on_signals() else: print "No database given."
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 gevent_psycopg2 gevent.monkey.patch_all() gevent_psycopg2.monkey_patch() 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() openerp.cli.server.configure_babel_localedata_path() 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()