> > +        while self._iterating or len(self._jobs) > 0:
> > +            if len(self._jobs) == 0:
> > +                # Wait for an async callback to dispatch new jobs
> > +                time.sleep(0.01)
> > +                continue

> I think we do as the list of jobs can be emptied quickly right after the first
> batch is processed and right before the callbacks start to dispatch new jobs
> don't you think?

OK, agreed.