A simple Django app to easily handle cleanup of old data (sessions, nonces, etc.)
Project description
Django Datapurge
Simple app to help purging old data like sesions, nonces, logs etc.. It’s like django-admin.py clearsessions command but gives you possibility to purge anything. Simpliest way to use datapurge is to run management command (manually or via cron):
python manage.py purge
It’s easy to integrate datapurge with celery or kronos. Just wrap datapurge.actions.purge function with code corresponding to your task backend and run it the way you want.
Requirements
Python (2.6, 2.7, 3.4, 3.5)
Django>=1.3.7
Installation
Install from PyPI using pip:
pip install django-datapurge
Or clone this repo:
git clone git@github.com:swistakm/django-datapurge.git
Add 'datapurge' to your INSTALLED_APPS setting.
INSTALLED_APPS = ( ... 'datapurge', )
Configuration
Add DATAPURGE_MODELS to your settings file and specify which models should be purged:
DATAPURGE_MODELS = { 'app_name.ModelName1': { # policy settings ... }, 'app_name.ModelName2': { ... }, }
Available purge policies
There are a few available policies for your use. Use what you find most convienient. Policy is guessed from set parameters provided.
ExpireFieldPolicy
Deletes all objects which expire_field datetime is older than timezone.now().
Parameters:
'expire_field' - name of datetime field holding expiration date
Example:
DATAPURGE_MODELS = { "sessions.Session": { "expire_field": "expire_date", } }
LifetimePolicy
Deletes all objects which are older than specified lifetime
Parameters:
'lifetime' - timedelta object specifying maximum lifetime of object
'created_field' - name of datetime field holding object creation time
Example:
from timezone import timedelta DATAPURGE_MODELS = { "oauth_provider.Nonce": { "lifetime": timedelta(seconds=300), "created_field": "timestamp", }
CallablePolicy
Deletes all objects from query returned by provided callable
Parameters:
'callable' - function accepting model class and returning QuerySet
Example:
DATAPURGE_MODELS = { "some_app.Log": { "callable": lambda model: model.objects.all(), }
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django_datapurge-0.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad41df6319f18e9fd4d06c1c33f240af92ad3099f938fbcfb652eb8d8815efdf |
|
MD5 | 383504dc8e641af4cef56232f3d9dec3 |
|
BLAKE2b-256 | fcc6445768996faeb012bfa135cdbf0fd893c935bed3b8b086a59e653d3a427b |