django-grasiøs-session-opprydding er en enkel administrasjon kommando som kan slette utløpte økter fra store session bord uten å drepe nettstedet.
Den viktigste bruken tilfellet er hvis du har en live søknad med millioner av bedervet økter i databasen. Runnung vanlig python manage.py opprydding vil potensielt låse databasen i timevis, i hovedsak dreper nettstedet.
Med django-grasiøs-session-opprydding kan du gradvis slette alle økter.
For å oppnå dette vil det alltid bare slette en liten mengde av de utløpte økter per spørring og deretter sove i noen få sekunder. Det er command alternativer for å kontrollere intervall, sove tid og mengde økter for å slette per intervall.
Installasjon
installere pakken:
PIP installere django-grasiøs-session-opprydding
legge den til INSTALLED_APPS:
INSTALLED_APPS = [
& Nbsp; ....
& Nbsp; 'graceful_session_cleanup',
]
kjøre ledelsen kommandoen:
python manage.py graceful_session_cleanup
Det er noen alternativer du kan bruke:
python manage.py graceful_session_cleanup --sleep sekunder 9 --delete-count 1000 --iteration-count 200
Dette vil slette tusen utgåtte session oppføringer, vent i fem sekunder så andre prosesser kan bruke databasen og deretter gjenta dette 200 ganger. Avhengig database belastning (forutsatt sletting tar 1s) dette vil ta (9s + 1) * 200 = 2000-tallet.
det er hjelp på kommandolinja:
& Nbsp; python manage.py hjelp graceful_session_cleanup
Bruk: django graceful_session_cleanup [alternativer]
Kan kjøres som en cronjob eller direkte for å rense ut gamle data fra databasen (bare utløpt økter i øyeblikket). Gjør dette på en live db vennlig måte ved aldri hogging tilkoblingen for lang.
Alternativer:
& Nbsp; -V detaljnivå, --verbosity = detaljnivå
& Nbsp; detaljnivå; 0 = minimal utgang, 1 = normal utgang,
& Nbsp; 2 = all produksjon
& Nbsp; - innstillinger = INNSTILLINGER Python bane til en innstillingsmodulen for eksempel
& Nbsp; "myproject.settings.main". Hvis dette ikke er levert,
& Nbsp; DJANGO_SETTINGS_MODULE miljøvariabelen vil være
& Nbsp; brukt.
& Nbsp; - PYTHONPATH = PYTHONPATH
& Nbsp; En katalog for å legge til Python banen, f.eks
& Nbsp; "/ home / djangoprojects / mittprosjekt".
& Nbsp; - traceback Print traceback på unntak
& Nbsp; -s SLEEP_SECONDS, --sleep-sekunder = SLEEP_SECONDS
& Nbsp; Hvor lenge å sove mellom hver slette drift.
& Nbsp; -c DELETE_COUNT, --delete-count = DELETE_COUNT
& Nbsp; Hvor mange utløpte økter for å slette per iterasjon.
& Nbsp; -i ITERATION_COUNT, --iteration-count = ITERATION_COUNT
& Nbsp; Hvor mange iterasjoner for å kjøre.
& Nbsp; - versjon viser programmets versjonsnummer og exit
& Nbsp; -H, Hjelpe vis denne hjelpemeldingen og exit
Krav
- Python
- Django
Kommentarer ikke funnet