'Did all of the tasks complete? (either by success of failure).
Returns:
bool: true if all of the tasks have been executed.'

def ready(self):

    return all((result.ready() for result in self.results))
