Esempio n. 1
0
File: cron.py Progetto: bala4901/RPI
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."
Esempio n. 2
0
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."
Esempio n. 3
0
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()