Ответ 1
Используйте команду очистки. Доступны два параметра:
- days (по умолчанию: 30) - указывает, сколько лет должен быть объект для очистки.
- project - указывает, какой проект удалить, поскольку у вас может быть много настроенных на одном сервере часовых поясов (по умолчанию: все)
Используйте его как таковое:
sentry --config=sentry.conf.py cleanup --days 360
ИЛИ с необязательным параметром проекта, он должен быть целым числом:
sentry --config=sentry.conf.py cleanup --days 360 --project 1
Я также смог использовать django ORM для этого вручную, прежде чем открывать команду очистки:
#$source bin/activate
#$sentry --config=sentry.conf.py shell
from sentry.models import Event, Alert
Event.objects.all().count()
Alert.objects.all().count()
Отметьте часовые модели для запроса других объектов. Отсюда вы можете использовать команды ORM django, такие как .save(),.remove() и т.д. На объектах. Ознакомьтесь с имеющимися часовыми моделями здесь. Этот подход является более гибким, если вам нужна гранулярность, т.е. Изменение объектов. Одна вещь, отсутствующая в команде очистки, сообщает вам, сколько объектов было удалено, вместо этого удаляет удаленные объекты на экран.
Моя очистка script выглядит так, и я запускаю ее @monthly с помощью cron:
#!/bin/bash
date
cd /var/web/sentry
source bin/activate
exec sentry --config=sentry.conf.py cleanup --days 360 #--project 1