'Deprecated method, use :meth:`get` with a callback argument.'

@deprecated.Callable(u'4.0', u'5.0')
def iterate(self, timeout=None, propagate=True, interval=0.5):

    elapsed = 0.0
    results = OrderedDict(((result.id, copy(result)) for result in self.results))
    while results:
        removed = set()
        for (task_id, result) in items(results):
            if result.ready():
                (yield result.get(timeout=(timeout and (timeout - elapsed)), propagate=propagate))
                removed.add(task_id)
            elif result.backend.subpolling_interval:
                time.sleep(result.backend.subpolling_interval)
        for task_id in removed:
            results.pop(task_id, None)
        time.sleep(interval)
        elapsed += interval
        if (timeout and (elapsed >= timeout)):
            raise TimeoutError(u'The    operation    timed    out')
