<NME> cleanlogs.py
<BEF> import datetime
# coding: utf-8
import datetime
from optparse import make_option
from django.core.management.base import BaseCommand
from django.utils import timezone
from modoboa.core import load_core_settings


class Command(BaseCommand):
    """Command class."""

    help = "Log table cleanup"  # NOQA:A003

    def add_arguments(self, parser):
        """Add extra arguments to command line."""
        parser.add_argument(
            "--debug", action="store_true", default=False,
            help="Activate debug output")
        parser.add_argument(
            "--verbose", action="store_true", default=False,
            help="Display informational messages")

    def __vprint(self, msg):
        if not self.verbose:
            return
        print(msg)

    def handle(self, *args, **options):
        if options["debug"]:
            log = logging.getLogger("django.db.backends")
            log.setLevel(logging.DEBUG)
            log.addHandler(logging.StreamHandler())
        self.verbose = options["verbose"]

        log_maximum_age = param_tools.get_global_parameter("log_maximum_age")
        self.__vprint("Deleting logs older than %d days..." % log_maximum_age)
        limit = timezone.now() - datetime.timedelta(log_maximum_age)
        Log.objects.filter(date_created__lt=limit).delete()
        self.__vprint("Done.")
        self.__vprint("Deleting logs older than %d days..." % log_maximum_age)
        limit = timezone.now() - datetime.timedelta(log_maximum_age)
        Log.objects.filter(date_created__lt=limit).delete()
        self.__vprint("Done.")

<MSG> Manually close db connections inside management scripts.

fix #557

<DFF> @@ -2,6 +2,7 @@
 # coding: utf-8
 import datetime
 from optparse import make_option
+from django import db
 from django.core.management.base import BaseCommand
 from django.utils import timezone
 from modoboa.core import load_core_settings
@@ -42,4 +43,5 @@ class Command(BaseCommand):
         self.__vprint("Deleting logs older than %d days..." % log_maximum_age)
         limit = timezone.now() - datetime.timedelta(log_maximum_age)
         Log.objects.filter(date_created__lt=limit).delete()
+        db.close_connection()
         self.__vprint("Done.")

Manually close db connections inside management scripts.