To match the other types ability to be frozen so that they can no longer be mutated add a freeze() method to the state machine type that ensures that subsequent add_state, add_reaction, add_transition method calls will raise an exception. This is quite useful when the state machine is constructed in one function and the creator wants to stop further adds by other functions. To start use this freeze() capability in the runner state machine when a machine build is requested. Part of blueprint runner-state-machine Change-Id: I61488e4158b38d39017435af008382f28d800049
TaskFlow
A library to do [jobs, tasks, flows] in a highly available, easy to understand and declarative manner (and more!) to be used with OpenStack and other projects.
- More information can be found by referring to the developer documentation.
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 into requirements-pyN.txt
(N being the Python major version number used to
install the package); - things that are required by some optional part
of TaskFlow (you can use TaskFlow without them) are put into
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 into test-requirements.txt.
Tox.ini
Our tox.ini file describes several test environments
that allow to test TaskFlow with different python versions and sets of
requirements installed. Please refer to the tox documentation to
understand how to make these test environments work for you.
Developer documentation
We also have sphinx documentation in docs/source.
To build it, run:
$ python setup.py build_sphinx