diff options
Diffstat (limited to 'portage_with_autodep/pym/portage/util/_async/TaskScheduler.py')
-rw-r--r-- | portage_with_autodep/pym/portage/util/_async/TaskScheduler.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/portage_with_autodep/pym/portage/util/_async/TaskScheduler.py b/portage_with_autodep/pym/portage/util/_async/TaskScheduler.py new file mode 100644 index 0000000..35b3875 --- /dev/null +++ b/portage_with_autodep/pym/portage/util/_async/TaskScheduler.py @@ -0,0 +1,20 @@ +# Copyright 2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +from .AsyncScheduler import AsyncScheduler + +class TaskScheduler(AsyncScheduler): + + """ + A simple way to handle scheduling of AbstractPollTask instances. Simply + pass a task iterator into the constructor and call start(). Use the + poll, wait, or addExitListener methods to be notified when all of the + tasks have completed. + """ + + def __init__(self, task_iter, **kwargs): + AsyncScheduler.__init__(self, **kwargs) + self._task_iter = task_iter + + def _next_task(self): + return next(self._task_iter) |