4559fdd841061e6243b2b3120d326dc6d83dbd74
With this change a link between two subflows caused by task dependency does not impose execution ordering between all tasks of that subflows any more: only provider and consumer of the dependency are now linked. For some cases this is a major optimization, as it allows more independent parts of the flow to be executed or reverted in parallel. It also allows, for example, converting parts of flow into subflows without loosing performance. Because with this change parts of parent flow that depend on some tasks in subflow can be executed before all tasks in the subflow are completed, graph analyzer is changed to not stop at subflow border when iterating subgraphs. Change-Id: I45587a4e851febe3c43cfa7b74bdfc50f61e0279
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