expireuserdatadownloads.py 817 B

123456789101112131415161718192021222324
  1. from django.core.management.base import BaseCommand
  2. from django.utils import timezone
  3. from misago.core.pgutils import chunk_queryset
  4. from misago.users.datadownloads import expire_user_data_download
  5. from misago.users.models import DataDownload
  6. class Command(BaseCommand):
  7. help = "Expires old user data downloads."
  8. def handle(self, *args, **options):
  9. downloads_expired = 0
  10. queryset = DataDownload.objects.select_related('user')
  11. queryset = queryset.filter(
  12. status=DataDownload.STATUS_READY,
  13. expires_on__lte=timezone.now(),
  14. )
  15. for data_download in chunk_queryset(queryset):
  16. expire_user_data_download(data_download)
  17. downloads_expired += 1
  18. self.stdout.write("Data downloads expired: {}".format(downloads_expired))