[openstack-dev] TaskFlow 0.7.1 released

Joshua Harlow harlowja at outlook.com
Tue Feb 17 18:43:59 UTC 2015


The Oslo team is pleased to announce the release of:

taskflow 0.7.1: Taskflow structured state management library.

For more details, please see the git log history below and:

     http://launchpad.net/taskflow/+milestone/0.7.1

Please report issues through launchpad:

     http://bugs.launchpad.net/taskflow/

Notable changes
----------------

Deprecations
************

* Conductor(s)

   * e7df6c6 Modify stop and add wait on conductor to prevent lockups

     * This change will now require the usage of stop() on a conductor
       to tell the conductor to stop processing further work and *now* to
       wait for the conductor to eventually stop a new method wait()
       has been added.

Bugs
****

* Zookeeper version checking flakiness

   * 35f07aa Allow turning off the version check

     * This change allows turning off the zookeeper version check
       as that command was determined to inherently be flakey, a
       pull request & issue has been
       filed @ https://github.com/python-zk/kazoo/issues/274.
       To avoid this version checking these pluggable backends now
       take a 'check_compatible' configuration option (which defaults
       to true to retain prior behavior) to allow power-users to
       turn off this apparently flakey check when they know they
       are running the right zookeeper versions.

Changes in taskflow 0.7.0..0.7.1
--------------------------------

NOTE: Skipping requirement commits...

9f60336 Revert "Add retries to fetching the zookeeper server version"
35f07aa Allow turning off the version check
5511011 adding check for str/unicode type in requires
a14adc3 Add retries to fetching the zookeeper server version
1ca123b Remove duplicate 'the' and link to worker engine section
f836433 Remove delayed decorator and replace with nicer method
9ea190d Fix log statement
101a47f Make the atom class an abstract class
0bcd1eb Mark conductor 'stop' method deprecation kwarg with versions
c7e472a Move to hacking 0.10
073eb32 catch NotFound errors when consuming or abandoning
5514fcd Use the new table length constants
4da581c Improve upon/adjust/move around new optional example
45c7b5c Clarify documentation related to inputs
b7d59ec Docstrings should document parameters return values
59771dd Let the multi-lock convert the provided value to a tuple
7f0c457 Map optional arguments as well as required arguments
19e0789 Add a BFS tree iterator
3bf3249 DFS in right order when not starting at the provided node
687ec91 Rework the sqlalchemy backend
e7df6c6 Modify stop and add wait on conductor to prevent lockups
08a1846 Default to using a thread-safe storage unit
1fc1a7e Add warning to sqlalchemy backend size limit docs
2f4bd68 Use a thread-identifier that can't easily be recycled
f2a6aca Use a notifier instead of a direct property assignment
2cd9074 Tweak the WBE diagram (and present it as an svg)
387e360 Remove duplicate code
a856d0b Improved diagram for Taskflow
6a6b50f Bump up the env_builder.sh to 2.7.9
20d85fe Add a capturing listener (for test or other usage)
d0d112d Add + use a staticmethod to fetch the immediate callables
bb43048 Just directly access the callback attributes
5242892 Use class constants during pformatting a tree node

Diffstat (except docs and test files)
-------------------------------------

taskflow/atom.py                                   |  93 +++--
taskflow/conductors/single_threaded.py             |  38 +-
taskflow/engines/action_engine/actions/retry.py    |   9 +-
taskflow/engines/action_engine/actions/task.py     |  18 +-
taskflow/engines/action_engine/completer.py        |   1 -
taskflow/engines/action_engine/engine.py           |   4 -
taskflow/engines/base.py                           |   7 +-
taskflow/engines/worker_based/engine.py            |   3 -
taskflow/engines/worker_based/executor.py          |   6 +-
taskflow/engines/worker_based/server.py            |  58 ++-
taskflow/engines/worker_based/types.py             |  10 +-
taskflow/examples/distance_calculator.py           | 109 ++++++
taskflow/exceptions.py                             |   2 +-
taskflow/jobs/backends/impl_zookeeper.py           |   3 +-
taskflow/listeners/capturing.py                    | 105 +++++
taskflow/persistence/backends/impl_sqlalchemy.py   | 430 
+++++++++------------
taskflow/persistence/backends/impl_zookeeper.py    |   8 +-
.../versions/1cea328f0f65_initial_logbook_deta.py  |  38 +-
taskflow/persistence/backends/sqlalchemy/models.py |  97 -----
taskflow/persistence/backends/sqlalchemy/tables.py |  99 +++++
taskflow/storage.py                                |  41 +-
taskflow/types/failure.py                          |   6 +-
taskflow/types/fsm.py                              |  84 ++--
taskflow/types/futures.py                          |  46 ++-
taskflow/types/latch.py                            |   9 +-
taskflow/types/notifier.py                         |  65 +++-
taskflow/types/periodic.py                         |  32 +-
taskflow/types/table.py                            |  13 +-
taskflow/types/timing.py                           |  10 +-
taskflow/types/tree.py                             |  58 ++-
taskflow/utils/deprecation.py                      |  22 ++
taskflow/utils/lock_utils.py                       |  66 ++--
test-requirements.txt                              |   4 +-
tools/env_builder.sh                               |   9 +-
tox.ini                                            |   2 -
53 files changed, 1246 insertions(+), 682 deletions(-)


Requirements updates
--------------------

diff --git a/test-requirements.txt b/test-requirements.txt
index 293ec5d..dd4f36d 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-hacking>=0.9.2,<0.10
+hacking<0.11,>=0.10.0
@@ -14 +14 @@ kombu>=2.5.0
-zake>=0.1 # Apache-2.0
+zake>=0.1.6 # Apache-2.0




More information about the OpenStack-dev mailing list