Skip to content

Instantly share code, notes, and snippets.

@streeter
Forked from dcramer/cleanup_redis_tsdb.py
Last active August 29, 2015 14:14
Show Gist options
  • Save streeter/70a3486823e458a806c4 to your computer and use it in GitHub Desktop.
Save streeter/70a3486823e458a806c4 to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
from sentry.utils.runner import configure
configure(config_path='sentry.conf.py')
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