def configure(options): """ Find the first app we got command-line options for and setup for it. We are only processing one app with this script, so if more than one is specified on the command-line, only one of them will get processed. No guarantees on which one that is. """ global mongo_db, tmp_dir, max_batch_size, bucket, shard, cycle_time, rebalancing, game, userstate game = options.game if game is None: print "game option is required" sys.exit(1) ini_file = options.ini if ini_file is None: print "ini option is required" sys.exit(1) log.info('Configuring...') bucket = int(options.bucket) shard = int(options.shard) max_batch_size = int(options.batch) cycle_time = int(options.time) from uuss.server import configuration (full_config, config) = configuration.init_from_ini(ini_file, [game], {'uuss.use_gevent': False}) helpers.config = config userstate = getattr(model, game).userstate tmp_dir = config["%s_user_state.tmp_dir%s" % (game, shard)] if not os.path.exists(tmp_dir): os.mkdir(tmp_dir) rebalancing = converters.asbool(config['%s_user_state.rebalancing' % game]) and options.rebal if rebalancing: hosts = config['%s_user_state.mongo_hosts_rebal' % game].split(";") else: hosts = config['%s_user_state.mongo_hosts' % game].split(";") mongo_db = mongo.connect(hosts[shard])[config['%s_user_state.mongo_dbname' % game]]