22 lines
661 B
Python
22 lines
661 B
Python
from importlib import import_module
|
|
|
|
from django.conf import settings
|
|
from django.core.management.base import BaseCommand, CommandError
|
|
|
|
|
|
class Command(BaseCommand):
|
|
help = (
|
|
"Can be run as a cronjob or directly to clean out expired sessions "
|
|
"when the backend supports it."
|
|
)
|
|
|
|
def handle(self, **options):
|
|
engine = import_module(settings.SESSION_ENGINE)
|
|
try:
|
|
engine.SessionStore.clear_expired()
|
|
except NotImplementedError:
|
|
raise CommandError(
|
|
"Session engine '%s' doesn't support clearing expired "
|
|
"sessions." % settings.SESSION_ENGINE
|
|
)
|