'Iterate over all subtasks that are ready to start.
Ready subtasks are subtasks whose dependencies have all been satisfied,
but which have not yet been started.'

def _ready(self):

    for k in self._keys:
        if (not self._graph.get(k, True)):
            runner = self._runners[k]
            if (runner and (not runner.started())):
                (yield (k, runner))
