2d26c29e67569d277d33cf406c49db6b320780d9
Deadlock can occur when a reader X waits for pending writers to be empty but the reader X already owns a read lock (since it will then wait for pending writers to be empty which it will never be, since pending writers is only empty when there are no readers - but since the current thread X is getting another read lock it result in deadlock for the reader and deadlock for the writer). Closes-Bug: #1276868 Change-Id: Ibe13eafa4bd0bc817e8bfe3cf303c54298778b37
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
Description