34cf55ac1c43e46421be316f342c6d04a6b5499c
Factor out the scheduling, running and completion components of graph_action so that we can allow this to be plugged in with other types of scheduling, running and completion strategies. The newly added components are the following: - A runtime container class (serves as a holder of some small utility functions) and all the other runtime components. - A runner class that acts as the action engines run loop. - A scheduler class that schedules nodes using a provided executor and returns futures that can be used to introspect there results as they complete. - A completer class that completes nodes and futures that the scheduler started, persisting there results and doing any further post-execution analysis. Part of blueprint plug-engine Change-Id: I1dbf46654377fc34e9d90eeabf7b0062020bdc5e
TaskFlow
A library to do [jobs, tasks, flows] in a HA manner using different backends to be used with OpenStack projects.
- More information at http://wiki.openstack.org/wiki/TaskFlow
Join us
Testing and requirements
Requirements
Because TaskFlow has many optional (pluggable) parts like persistence backends and engines, we decided to split our requirements into two parts:
- things that are absolutely required by TaskFlow (you can't use
TaskFlow without them) are put to
requirements.txt; - things that are required by some optional part of TaskFlow (you
can use TaskFlow without them) are put to
optional-requirements.txt; if you want to use the feature in question, you should add that requirements to your project or environment; - as usual, things that required only for running tests are put
to
test-requirements.txt.
Tox.ini
Our tox.ini describes several test environments that allow to test TaskFlow with different python versions and sets of requirements installed.
To generate tox.ini, use the toxgen.py script by first installing
toxgen and then provide that script
as input the tox-tmpl.ini file to generate the final tox.ini file.
For example:
$ toxgen.py -i tox-tmpl.ini -o tox.ini
Documentation
http://wiki.openstack.org/wiki/TaskFlow
We also have sphinx documentation in docs/source. To build it,
run:
$ python ./setup.py build_sphinx
Description