[FIX] tools.convert: use tools.ustr() instead of str() on exceptions.
[odoo/odoo.git] / openerpcommand / cron.py
1 """
2 Run an OpenERP cron process.
3 """
4
5 import os
6
7 import common
8
9 def run(args):
10     import openerp
11     import openerp.cli.server
12     import openerp.tools.config
13     import openerp.service.cron
14     config = openerp.tools.config
15
16     os.environ["TZ"] = "UTC"
17     common.set_addons(args)
18     args.database = args.database or []
19
20     config['log_handler'] = [':WARNING', 'openerp.addons.base.ir.ir_cron:DEBUG']
21
22     openerp.multi_process = True
23     common.setproctitle('openerp-cron [%s]' % ', '.join(args.database))
24
25     openerp.cli.server.check_root_user()
26     openerp.netsvc.init_logger()
27     #openerp.cli.server.report_configuration()
28     openerp.cli.server.configure_babel_localedata_path()
29     openerp.cli.server.setup_signal_handlers(openerp.cli.server.signal_handler)
30     import openerp.addons.base
31     if args.database:
32         for db in args.database:
33             openerp.cli.server.preload_registry(db)
34         openerp.service.cron.start_service()
35         openerp.cli.server.quit_on_signals()
36     else:
37         print "No database given."
38
39
40 def add_parser(subparsers):
41     parser = subparsers.add_parser('cron',
42         description='Run an OpenERP cron process.')
43     common.add_addons_argument(parser)
44     parser.add_argument('--database', action='append',
45         help='Database for which cron jobs are processed (can be repeated)')
46
47     parser.set_defaults(run=run)