django-sierlijke-sessie-cleanup is een eenvoudig beheer commando dat verlopen sessies van grote sessie tafels kunnen verwijderen zonder het doden van de site.
De belangrijkste use case is als je een live applicatie met miljoenen oudbakken sessies in de database. Runnung de reguliere python manage.py opruimen zal mogelijk vergrendelen uw database voor uren, in wezen het doden van uw site.
Met django-sierlijke-sessie-cleanup kunt u geleidelijk verwijder alle sessies.
Hiertoe zal altijd slechts een kleine hoeveelheid van het vervallen sessies per vraag verwijderen en slapen enkele seconden. Er zijn commandline opties om interval, slaaptijd en de hoeveelheid van de sessies te controleren om te verwijderen per interval.
installatie
installeer het pakket:
pip django-sierlijke-sessie-cleanup installeren
toevoegen aan INSTALLED_APPS:
INSTALLED_APPS = [
& Nbsp; ....
& Nbsp; 'graceful_session_cleanup',
]
lopen het beheer commando:
python manage.py graceful_session_cleanup
Er zijn een paar opties die u kunt gebruiken:
python manage.py graceful_session_cleanup --sleep-seconden 9 --delete-count 1000 --iteration-count 200
Dit zal 1000 verlopen sessie items wilt verwijderen, wacht 5 seconden, zodat andere processen kan de database te gebruiken en herhaal dit 200 keer. Afhankelijk van de database belasting (ervan uitgaande dat het schrappen neemt 1s) zal dit (9s + 1) * 200 = 2000s nemen.
Er is hulp op de commandline:
& Nbsp; python manage.py hulp graceful_session_cleanup
Gebruik: django graceful_session_cleanup [opties]
Kan worden uitgevoerd als een cronjob of direct te reinigen van oude gegevens uit de database (alleen verlopen sessies op het moment). Doet dit in een live db vriendelijke manier door nooit de verbinding hogging te lang.
Opties:
& Nbsp; -v breedsprakigheid, --verbosity = breedsprakigheid
& Nbsp; Verbosity niveau; 0 = minimale uitgang, 1 = normale productie,
& Nbsp; 2 = uitgang
& Nbsp; - instellingen = INSTELLINGEN De Python pad naar een instellingen module, bv
& Nbsp; "myproject.settings.main". Als dit niet wordt verstrekt, de
& Nbsp; DJANGO_SETTINGS_MODULE omgevingsvariabele zal zijn
& Nbsp; gebruikt.
& Nbsp; - PYTHONPATH = PYTHONPATH
& Nbsp; Een directory toe te voegen aan de Python pad, bijv.
& Nbsp; "/ home / djangoprojects / myproject".
& Nbsp; - traceback Print traceback op uitzondering
& Nbsp; -s SLEEP_SECONDS, --sleep-seconden = SLEEP_SECONDS
& Nbsp; Hoe lang slapen tussen elke wisfunctie.
& Nbsp; -c DELETE_COUNT, --delete-count = DELETE_COUNT
& Nbsp; Hoeveel verlopen sessies te verwijderen per iteratie.
& Nbsp; -i ITERATION_COUNT, --iteration-count = ITERATION_COUNT
& Nbsp; Hoeveel herhalingen te lopen.
& Nbsp; - versie showprogramma's versienummer en afrit
& Nbsp; -h, --help deze hulp bericht en afrit
Eisen te laten zien:
- Python
- Django
Reacties niet gevonden