Skip to content

Instantly share code, notes, and snippets.

@dcramer
Last active August 29, 2015 14:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save dcramer/55a44904be883f8d03e1 to your computer and use it in GitHub Desktop.
Save dcramer/55a44904be883f8d03e1 to your computer and use it in GitHub Desktop.
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