opts, args = getopt.gnu_getopt(sys.argv[1:], 'g:c:q', ['reset','mongo-drop','dry-run','force']) for key, val in opts: if key == '-g': game_id = val elif key == '-c': commit_interval = int(val) elif key == '-q': verbose = False elif key == '--mongo-drop': do_mongo_drop = True elif key == '--reset': do_reset = True elif key == '--dry-run': dry_run = 1 elif key == '--force': force = True gamedata = SpinJSON.load(open(SpinConfig.gamedata_filename(override_game_id = game_id))) if not verbose: sql_util.disable_warnings() cfg = SpinConfig.get_pgsql_config(SpinConfig.config['game_id']+'_scores2') if (not force) and \ (SpinConfig.in_maintenance_window(cfg, time_now = time_now) or SpinConfig.in_maintenance_window(cfg, time_now = time_now + 1800)): # allow for 30min to operate if verbose: print 'in database maintenance window, aborting' sys.exit(0) with SpinSingletonProcess.SingletonProcess('scores2-to-sql-%s' % (game_id)): con = psycopg2.connect(*cfg['connect_args'], **cfg['connect_kwargs']) tbl = { 'player': cfg['table_prefix']+'player_scores2', 'alliance': cfg['table_prefix']+'alliance_scores2' } nosql_client = SpinNoSQL.NoSQLClient(SpinConfig.get_mongodb_config(SpinConfig.config['game_id'])) mongo_scores = Scores2.MongoScores2(nosql_client)
import SpinConfig import os, sys, getopt if __name__ == '__main__': whichdb = SpinConfig.config['game_id'] mode = 'connect' opts, args = getopt.gnu_getopt(sys.argv[1:], '', ['sizes']) for key, val in opts: if key == '--sizes': mode = 'size' if len(args) > 0: whichdb = args[0] conf = SpinConfig.get_pgsql_config(whichdb) cmd_args = [ 'psql', '--host', conf['host'], '--port', '%d' % conf['port'], '--username', conf['username'], conf['dbname'] ] env = os.environ.copy() env['PGPASSWORD'] = conf['password'] if mode == 'size': cmd_args += [ '-c', '''SELECT full_table_name AS table_name, pg_size_pretty(table_size) AS table_size, pg_size_pretty(indexes_size) AS indexes_size, pg_size_pretty(total_size) AS total_size FROM (SELECT full_table_name, pg_table_size(full_table_name) AS table_size,