def METHOD_NAME(self, to_process, date_back=None, dry_run=True):
    if date_back:
        stop_date = timezone.now() - timezone.timedelta(minutes=date_back)
    else:
        stop_date = None
    for model, history_model in to_process:
        m_qs = history_model.objects
        if stop_date:
            m_qs = m_qs.filter(history_date__gte=stop_date)
        found = m_qs.count()
        self.log(f"{model} has {found} historical entries", 2)
        if not found:
            continue
        # Break apart the query so we can add additional filtering
        if self.base_manager:
            model_query = model._base_manager.all()
        else:
            model_query = model._default_manager.all()
        # If we're provided a stop date take the initial hit of getting the
        # filtered records to iterate over
        if stop_date:
            model_query = model_query.filter(
                pk__in=(m_qs.values_list(model._meta.pk.name).distinct())
            )
        for o in model_query.iterator():
            self._process_instance(o, model, stop_date=stop_date, dry_run=dry_run)