django-yndefuld-session-oprydning er en simpel styring kommando, kan slette udløbne sessioner fra store session borde uden at dræbe webstedet.
Den vigtigste anvendelse sagen er, hvis du har en levende ansøgning med millioner af uaktuelle sessioner i databasen. Runnung regelmæssig python manage.py oprydning vil potentielt låse din database i timevis, hovedsagelig dræbe dit websted.
Med Django-yndefuld-session-oprydning kan du gradvist slette alle sessioner.
For at opnå dette vil det altid kun slette en lille mængde af de udløbne sessioner per forespørgsel og derefter sove i et par sekunder. Der er kommandlinjeflag at kontrollere interval, sove tid og mængden af sessioner til at slette per interval.
Installation
installere pakken:
pip installere django-yndefuld-session-oprydning
føje den til INSTALLED_APPS:
INSTALLED_APPS = [
& Nbsp; ....
& Nbsp; "graceful_session_cleanup«,
]
køre ledelsen kommando:
python manage.py graceful_session_cleanup
Der er et par muligheder, du kan bruge:
python manage.py graceful_session_cleanup --sleep-sekunder 9 --delete-count 1000 --iteration-count 200
Dette vil slette 1000 udløbne session poster, vent 5 sekunder, så andre processer kan bruge databasen og derefter gentage dette 200 gange. Afhængig af database belastning (forudsat sletning tager 1s) det vil tage (9s +1) * 200 = 2000'erne.
Der er hjælp på kommandolinjen:
& Nbsp; python manage.py hjælp graceful_session_cleanup
Anvendelse: django graceful_session_cleanup [options]
Kan køres som en cronjob eller direkte at rense ud gamle data fra databasen (kun udløb sessioner i øjeblikket). Er dette i en live db venlig måde ved aldrig hogging forbindelsen for længe.
Valg:
& Nbsp; -v informationsmængde, --verbosity = informationsmængde
& Nbsp; Informationsmængde; 0 = minimal output, 1 = normal produktion,
& Nbsp; 2 = alle output
& Nbsp; - indstillinger = Indstillinger Python sti til en indstillinger modul, f.eks
& Nbsp; "myproject.settings.main". Hvis dette ikke er angivet,
& Nbsp; DJANGO_SETTINGS_MODULE miljøvariabel vil være
& Nbsp; anvendes.
& Nbsp; - PYTHONPATH = PYTHONPATH
& Nbsp; En mappe for at tilføje til Python vej, f.eks
& Nbsp; "/ home / djangoprojects / myproject".
& Nbsp; - tilbagesporingstabel Print tilbagesporingstabel på undtagelse
& Nbsp; -s SLEEP_SECONDS, --sleep-sekund = SLEEP_SECONDS
& Nbsp; Hvor længe at sove mellem hver slette operation.
& Nbsp; -c DELETE_COUNT, --delete-count = DELETE_COUNT
& Nbsp; Hvor mange udløbne sessioner at slette per iteration.
& Nbsp; -i ITERATION_COUNT, --iteration-count = ITERATION_COUNT
& Nbsp; Hvor mange gentagelser til at køre.
& Nbsp; - udgave show programmets versionsnummer og afslut
& Nbsp; -h, --help vise denne hjælpetekst og afslut
Krav :
- Python
- Django
Kommentarer ikke fundet