def upload_all_to_internet_archive(chunksize=100): from django.utils import timezone from perma.tasks import upload_to_internet_archive from perma.models import Link from datetime import timedelta from django.db.models import Q links = Link.objects.filter( (Q(internet_archive_upload_status='not_started') | Q(internet_archive_upload_status='failed') | Q(internet_archive_upload_status='deleted', is_private=False)) & Q(creation_timestamp__lte=timezone.now() - timedelta(days=1), is_private=False, is_unlisted=False)).order_by('creation_timestamp') def link_queryset_iterator(queryset, chunksize): idx = 0 count = queryset.count() while idx < count: new_idx = chunksize + idx yield queryset[idx:new_idx] idx = new_idx link_queryset = link_queryset_iterator(links) for link in link_queryset: upload_to_internet_archive(link.guid)
def upload_all_to_internet_archive(): from django.utils import timezone from perma.tasks import upload_to_internet_archive from perma.models import Link from datetime import timedelta from django.db.models import Q links = Link.objects.filter((Q(internet_archive_upload_status='not_started') | Q(internet_archive_upload_status='failed') | Q(internet_archive_upload_status='deleted', is_private=False)) & Q(creation_timestamp__lte=timezone.now()-timedelta(days=1), is_private=False, is_unlisted=False) ).order_by('creation_timestamp') for link in links: upload_to_internet_archive(link.guid)