path = os.path.join(base_path, table) logger.info("Exporting %s to %s", table, path) with open(path, 'w') as fileobj: if sql is None: copy_sql = "COPY %s TO STDOUT" % table else: copy_sql = "COPY (%s) TO STDOUT" % sql cursor.copy_expert(copy_sql, fileobj) def main(script, opts, args): conn = script.db_engines['app'].connect() conn.detach() with closing(conn): conn.connection.rollback() conn.connection.set_session(psycopg2.extensions.ISOLATION_LEVEL_SERIALIZABLE) cursor = conn.connection.cursor() if opts.full: export_tables(cursor, 'acoustid-dump', CORE_TABLES, opts.data_dir) export_tables(cursor, 'acoustid-musicbrainz-dump', MUSICBRAINZ_TABLES, opts.data_dir) conn.connection.commit() def add_options(parser): parser.add_option("-d", "--dir", dest="data_dir", default="/tmp/acoustid-export", help="directory") parser.add_option("-f", "--full", dest="full", action="store_true", default=False, help="full export") run_script(main, add_options)
print 'graph_title Fingerprint lookup time' print 'graph_vlabel ms' print 'graph_args --base 1000 -l 0' print 'graph_scale no' print 'graph_category acoustid' print 'time.label Average lookup time (5m)' print 'time.draw LINE2' print 'time.type GAUGE' return redis = script.redis one_minute = datetime.timedelta(minutes=1) total_ms = 0.0 total_count = 0 time = datetime.datetime.now() - one_minute for i in range(5): key = time.strftime('%Y-%m-%d:%H:%M') ms = redis.hget('lookups.time.ms', key) count = redis.hget('lookups.time.count', key) if ms and count: total_ms += int(ms) total_count += int(count) time -= one_minute if not total_count: total_ms = 0.0 total_count = 1 print 'time.value', total_ms / total_count run_script(main)
fp.close() def export_replication(cursor): create_replication_packet(cursor) create_musicbrainz_replication_packet(cursor) cursor.execute("DELETE FROM mirror_queue") def main(script, opts, args): conn = script.engine.connect() conn.detach() with closing(conn): conn.connection.rollback() conn.connection.set_session(psycopg2.extensions.ISOLATION_LEVEL_SERIALIZABLE) cursor = conn.connection.cursor() export_replication(cursor) if opts.full: export_tables(cursor, 'acoustid-dump', CORE_TABLES) export_tables(cursor, 'acoustid-musicbrainz-dump', MUSICBRAINZ_TABLES) conn.connection.commit() def add_options(parser): parser.add_option("-f", "--full", dest="full", action="store_true", default=False, help="full export") run_script(main, add_options)
#!/usr/bin/env python # Copyright (C) 2011 Lukas Lalinsky # Distributed under the MIT license, see the LICENSE file for details. from acoustid.script import run_script from acoustid.data.track import merge_missing_mbids def main(script, opts, args): conn = script.engine.connect() with conn.begin(): merge_missing_mbids(conn) run_script(main, master_only=True)