[IMP] oe web/cron: slight refactor.

bzr revid: vmt@openerp.com-20130118121619-be5n01rieac11oru
This commit is contained in:
Vo Minh Thu 2013-01-18 13:16:19 +01:00
parent f6e2a1314c
commit 24878795fe
3 changed files with 29 additions and 26 deletions

View File

@ -16,6 +16,21 @@ def add_addons_argument(parser):
parser.add_argument('--addons', metavar='ADDONS',
**required_or_default('ADDONS',
'colon-separated list of paths to addons'))
def set_addons(args):
"""
Turn args.addons into a list instead of a column-separated strings.
Set openerp.toools.config accordingly.
"""
import openerp.tools.config
config = openerp.tools.config
assert hasattr(args, 'addons')
if args.addons:
args.addons = args.addons.split(':')
else:
args.addons = []
config['addons_path'] = ','.join(args.addons)
def get_addons_from_paths(paths, exclude):
"""

View File

@ -6,18 +6,6 @@ import os
import common
def set_addons(args):
import openerp.tools.config
config = openerp.tools.config
assert hasattr(args, 'addons')
if args.addons:
args.addons = args.addons.split(':')
else:
args.addons = []
config['addons_path'] = ','.join(args.addons)
def run(args):
import openerp
import openerp.cli.server
@ -26,7 +14,7 @@ def run(args):
config = openerp.tools.config
os.environ["TZ"] = "UTC"
set_addons(args)
common.set_addons(args)
args.database = args.database or []
config['log_handler'] = [':WARNING', 'openerp.addons.base.ir.ir_cron:DEBUG']
@ -54,6 +42,6 @@ def add_parser(subparsers):
description='Run an OpenERP cron process.')
common.add_addons_argument(parser)
parser.add_argument('--database', action='append',
help='Database for which cron jobs are processed (can be given repeated)')
help='Database for which cron jobs are processed (can be repeated)')
parser.set_defaults(run=run)

View File

@ -6,24 +6,21 @@ 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 = []
import openerp.cli.server
import openerp.service.wsgi_server
import openerp.tools.config
config = openerp.tools.config
config['addons_path'] = ','.join(args.addons)
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()
@ -33,6 +30,9 @@ def run(args):
target = openerp.service.wsgi_server.serve
if not args.gevent:
# 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()