4e1ab33df968d940b13b51323365c4b0205e3f1c
When worker-based engine receives event it should first remove request from cache and then call request.set_result. Otherwise, another thread waiting the request to complete might schedule another request with same uuid (e.g. reversion of failed task), which will replace current request in cache and then will be deleted, thus leading to engine hang. Related-bug: #1297668 Change-Id: Icbbca58067ee22fe45c63e1f69d189ea56697d20
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