It is not needed to return the atom that was executed from the futures result() method, since we can just as easily set an attribute on the future and reference it from there when using it later. This is also required for a process based executor since it is not typically possible to send back a raw task object (and is not desireable to require this); even if it was possible the task would be pickled and unpickled multiple times so when this happens it can not be guaranteed to even be the same object (in fact it is not). Part of blueprint process-executor Change-Id: I4a05ea5dcdef97218312e3a88ed4a1dfdf1b1edf
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