Instantly share code, notes, and snippets.

Embed
What would you like to do?
clean up data that should have been expired but wasnt
#!/usr/bin/env python
from sentry.utils.runner import configure
configure()
from datetime import datetime, timedelta
from sentry.app import tsdb
def cleanup_connection(connection, epoch):
def delete(key):
print('>> Removing key {}'.format(key))
connection.delete(key)
for key in connection.scan_iter('ts:*'):
bits = key.split(':', 4)
assert len(bits) == 4
if int(bits[2]) < epoch: # 7 days
delete(key)
def cleanup():
epoch = tsdb.normalize_to_rollup(datetime.utcnow() - timedelta(days=7), 3600)
print('Epoch set to {}'.format(epoch))
for connection in tsdb.conn.hosts.itervalues():
print('> Checking connection {}'.format(connection))
cleanup_connection(connection, epoch)
if __name__ == '__main__':
cleanup()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment