elif not unfinished_tasks and all(r.state in (State.SUCCESS, State.SKIPPED)
                                              for r in roots):
                self.log.info('Marking run %s successful', self)
                self.state = State.SUCCESS
                dag.handle_callback(self, success=True, reason='success', session=session)