#! /usr/bin/env python import sys; sys.path.insert(0, '.') import os from datetime import date from tracker import db if __name__ == '__main__': print("Doing it.") read_replica = os.environ['WL_PG_READ_REPLICA'] db.setup_session(connection_uri=read_replica) print(db.Session.get_bind()) sql_template = ''' (select as_of, track_scid, playback_count, download_count, favoritings_count, comment_count, data->'user'->>'id' as artist_scid, created_at as published, duration, genre from sc_track_stats_{partition_num} s join sc_tracks t on t.scid = s.track_scid ) ''' today_iso = date.today().isoformat() max_part = db.ScTrackStats.max_partition_num() for part in range(67, max_part): print(f"Doing {part}") sql = sql_template.format(partition_num=part) filename = f'sc/{today_iso}/sc_track_stats_{part}.tsv' print(filename) db.Session.execute(r""" select * from aws_s3.query_export_to_s3( :query, aws_commons.create_s3_uri('wl-rds-exports', :filename, 'eu-west-1'), options :='FORMAT csv, HEADER, DELIMITER ''' || chr(9) || '''' ) """, params=dict(query=sql, filename=filename))