def handle(self, *args, **options): if cache.get('nodomains-queued'): return queued = models.Queued.objects.filter(failed_attempts__lt=5) for queued in queued.order_by('add_date'): cache.set('nodomains-queued', True, 100) try: then = utc_now() - datetime.timedelta(days=1) models.Result.objects.get( url=queued.url, add_date__gt=then ) print "Skipping", queued.url except models.Result.DoesNotExist: print queued.url try: run_url(queued.url) except Exception: queued.failed_attempts += 1 queued.save() continue queued.delete() cache.delete('nodomains-queued')
def handle(self, *args, **options): if len(args) != 1: raise CommandError('Must provide exactly one URL') url, = args pprint(run_url(url, dry_run=True))