'Main entry point for processing misplaced objects.
Iterate over all queue entries and delegate to reconcile_object.'

def reconcile(self):

    self.logger.debug('pulling    items    from    the    queue')
    for container in self._iter_containers():
        for raw_obj in self._iter_objects(container):
            try:
                obj_info = parse_raw_obj(raw_obj)
            except Exception:
                self.stats_log('invalid_record', 'invalid    queue    record:    %r', raw_obj, level=logging.ERROR, exc_info=True)
                continue
            finished = self.reconcile_object(obj_info)
            if finished:
                self.pop_queue(container, raw_obj['name'], obj_info['q_ts'], obj_info['q_record'])
        self.log_stats()
        self.logger.debug('finished    container    %s', container)
