Fixed #18978 -- Moved cleanup command to sessions.
This removes a dependency of 'core' on 'contrib'.
This commit is contained in:
parent
908efca817
commit
83ba0a9d4b
|
@ -7,7 +7,13 @@ Can be run as a cronjob to clean out old data from the database (only expired
|
|||
sessions at the moment).
|
||||
"""
|
||||
|
||||
import warnings
|
||||
|
||||
from django.core import management
|
||||
|
||||
if __name__ == "__main__":
|
||||
management.call_command('cleanup')
|
||||
warnings.warn(
|
||||
"The `daily_cleanup` script has been deprecated "
|
||||
"in favor of `django-admin.py clearsessions`.",
|
||||
PendingDeprecationWarning)
|
||||
management.call_command('clearsessions')
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
from django.core.management.base import NoArgsCommand
|
||||
from django.utils import timezone
|
||||
|
||||
class Command(NoArgsCommand):
|
||||
help = "Can be run as a cronjob or directly to clean out expired sessions (only with the database backend at the moment)."
|
||||
|
||||
def handle_noargs(self, **options):
|
||||
from django.db import transaction
|
||||
from django.contrib.sessions.models import Session
|
||||
Session.objects.filter(expire_date__lt=timezone.now()).delete()
|
||||
transaction.commit_unless_managed()
|
|
@ -1,11 +1,11 @@
|
|||
from django.core.management.base import NoArgsCommand
|
||||
from django.utils import timezone
|
||||
import warnings
|
||||
|
||||
class Command(NoArgsCommand):
|
||||
help = "Can be run as a cronjob or directly to clean out old data from the database (only expired sessions at the moment)."
|
||||
from django.contrib.sessions.management.commands import clearsessions
|
||||
|
||||
|
||||
class Command(clearsessions.Command):
|
||||
def handle_noargs(self, **options):
|
||||
from django.db import transaction
|
||||
from django.contrib.sessions.models import Session
|
||||
Session.objects.filter(expire_date__lt=timezone.now()).delete()
|
||||
transaction.commit_unless_managed()
|
||||
warnings.warn(
|
||||
"The `cleanup` command has been deprecated in favor of `clearsessions`.",
|
||||
PendingDeprecationWarning)
|
||||
super(Command, self).handle_noargs(**options)
|
||||
|
|
|
@ -293,6 +293,11 @@ these changes.
|
|||
* The ``AUTH_PROFILE_MODULE`` setting, and the ``get_profile()`` method on
|
||||
the User model, will be removed.
|
||||
|
||||
* The ``cleanup`` management command will be removed. It's replaced by
|
||||
``clearsessions``.
|
||||
|
||||
* The ``daily_cleanup.py`` script will be removed.
|
||||
|
||||
2.0
|
||||
---
|
||||
|
||||
|
|
|
@ -96,6 +96,9 @@ cleanup
|
|||
Can be run as a cronjob or directly to clean out old data from the database
|
||||
(only expired sessions at the moment).
|
||||
|
||||
.. versionchanged:: 1.5
|
||||
:djadmin:`cleanup` is deprecated. Use :djadmin:`clearsessions` instead.
|
||||
|
||||
compilemessages
|
||||
---------------
|
||||
|
||||
|
@ -1187,6 +1190,18 @@ This command is only available if :doc:`GeoDjango </ref/contrib/gis/index>`
|
|||
Please refer to its :djadmin:`description <ogrinspect>` in the GeoDjango
|
||||
documentation.
|
||||
|
||||
``django.contrib.sessions``
|
||||
---------------------------
|
||||
|
||||
clearsessions
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
.. django-admin:: clearsessions
|
||||
|
||||
Can be run as a cron job or directly to clean out expired sessions.
|
||||
|
||||
This is only supported by the database backend at the moment.
|
||||
|
||||
``django.contrib.sitemaps``
|
||||
---------------------------
|
||||
|
||||
|
|
|
@ -613,7 +613,6 @@ Define a ``__str__`` method and apply the
|
|||
The :func:`~django.utils.itercompat.product` function has been deprecated. Use
|
||||
the built-in :func:`itertools.product` instead.
|
||||
|
||||
|
||||
``django.utils.markup``
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -621,3 +620,15 @@ The markup contrib module has been deprecated and will follow an accelerated
|
|||
deprecation schedule. Direct use of python markup libraries or 3rd party tag
|
||||
libraries is preferred to Django maintaining this functionality in the
|
||||
framework.
|
||||
|
||||
``cleanup`` management command
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The :djadmin:`cleanup` management command has been deprecated and replaced by
|
||||
:djadmin:`clearsessions`.
|
||||
|
||||
``daily_cleanup.py`` script
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The undocumented ``daily_cleanup.py`` script has been deprecated. Use the
|
||||
:djadmin:`clearsessions` management command instead.
|
||||
|
|
|
@ -460,7 +460,7 @@ table. Django updates this row each time the session data changes. If the user
|
|||
logs out manually, Django deletes the row. But if the user does *not* log out,
|
||||
the row never gets deleted.
|
||||
|
||||
Django provides a sample clean-up script: ``django-admin.py cleanup``.
|
||||
Django provides a sample clean-up script: ``django-admin.py clearsessions``.
|
||||
That script deletes any session in the session table whose ``expire_date`` is
|
||||
in the past -- but your application may have different requirements.
|
||||
|
||||
|
|
Loading…
Reference in New Issue