django-gracieuse-session-nettoyage est une commande de gestion simple qui peut supprimer des sessions expirées de grandes tables de session sans tuer le site.
L'utilisation principale est le cas si vous avez une application en direct avec des millions de sessions obsolètes dans la base de données. Runnung le nettoyage régulier python manage.py sera potentiellement verrouiller votre base de données pendant des heures, essentiellement tuer votre site.
Avec django-gracieuse-session-nettoyage, vous pouvez supprimer progressivement toutes les sessions.
Pour y parvenir, il sera toujours uniquement supprimer une petite quantité de sessions expirées par requête, puis dormir pendant quelques secondes. Il ya des options ligne de commande pour contrôler l'intervalle, le temps de sommeil et la quantité de sessions de supprimer par intervalle.
Installation
installez le paquet:
pip installer django-gracieuse-session-nettoyage
ajouter à INSTALLED_APPS:
INSTALLED_APPS = [
& Nbsp; ....
& Nbsp; »graceful_session_cleanup ',
]
exécutez la commande de gestion:
python manage.py graceful_session_cleanup
Il ya quelques options que vous pouvez utiliser:
python manage.py graceful_session_cleanup --sleep-neuf secondes --delete-comte 1000 --iteration comptage 200
Cette opération va supprimer 1000 entrées de session a expiré, attendez 5 secondes pour que d'autres processus peuvent utiliser la base de données, puis répéter cette 200 fois. Selon la charge de base de données (en supposant que la suppression prend 1s) cela prendra (9s + 1s) * 200 = 2000s.
il ya de l'aide sur la ligne de commande:
& Nbsp; python manage.py aide graceful_session_cleanup
Utilisation: django graceful_session_cleanup [options]
Peut être exécuté comme une tâche cron ou directement pour nettoyer les anciennes données de la base de données (uniquement sessions au moment expiré). Est-ce une manière amicale db en direct en ne monopolisant la connexion trop longtemps.
Options:
& Nbsp; -v VERBOSITY, --verbosity = VERBOSITY
& Nbsp; le niveau de verbosité; 0 = sortie minimale, 1 = sortie normale,
& Nbsp; 2 = toutes les sorties
& Nbsp; - paramètres = Paramètres Le chemin de Python à un module de paramètres, par exemple
& Nbsp; "myproject.settings.main". Si ce ne est pas fourni, le
& Nbsp; DJANGO_SETTINGS_MODULE variable d'environnement sera
& Nbsp; utilisé.
& Nbsp; - PYTHONPATH = PYTHONPATH
& Nbsp; Un répertoire à ajouter au chemin de Python, par exemple
& Nbsp; "/ home / djangoprojects / myproject".
& Nbsp; - retraçage Imprimer retraçage en cas d'exception
& Nbsp; -s SLEEP_SECONDS, --sleep-seconde = SLEEP_SECONDS
& Nbsp; Combien de temps pour dormir entre chaque opération supprimer.
& Nbsp; DELETE_COUNT -c, --delete-count = DELETE_COUNT
& Nbsp; Combien de séances périmés supprimer par itération.
& Nbsp; ITERATION_COUNT -i, --iteration-count = ITERATION_COUNT
& Nbsp; Combien itérations à exécuter.
& Nbsp; - le nombre et la sortie de la version de la version programme du spectacle
& Nbsp; -h, --help afficher ce message d'aide et de sortie
Exigences :
- Python
- Django
Commentaires non trouvées