We are delighted to announce the release of: taskflow 1.26.0: Taskflow structured state management library.
This release is part of the mitaka release series. With source available at: http://git.openstack.org/cgit/openstack/taskflow With package available at: https://pypi.python.org/pypi/taskflow Please report issues through launchpad: http://bugs.launchpad.net/taskflow/ For more details, please see below. Changes in taskflow 1.25.0..1.26.0 ---------------------------------- 8400674 Some additional engine logging 8e8156c Allow for alterations in decider 'area of influence' f555a35 Fix wrong usage of iter_utils.unique_seen c6fd876 Updated from global requirements 9081096 Updated from global requirements 5f7d3a2 Updated from global requirements 25dca8e Use the retrying lib. to do basic sqlalchemy engine validation a79ca48 For taskflow patterns don't show taskflow.patterns prefix 4f67c82 Rename '_emit' -> '_try_emit' since it is best-effort (not ensured) 0ed1d5a Cache atom name -> actions and provide accessor function 6742532 Quote/standardize atom name output c145bef Use shared util helper for driver name + config extraction 25a8e4b Fix currently broken and inactive mysql tests be9323c Trap and expose exception any 'args' c3674a0 Revert "Remove failure version number" 522ea98 Move all internal blather usage/calls to trace usage/calls cf99c89 Start rename of BLATHER -> TRACE 898eb11 Add ability of job poster/job iterator to wait for jobs to complete 651ad1e Updated from global requirements bdbb55f Use 'match_type' utility function instead of staticmethod c560e71 Remove failure version number dd23fe3 Translate kazoo exceptions into job equivalents if register_entity fails 69eb1e1 Change name of misc.ensure_dict to misc.safe_copy_dict ff0cb5d Avoid recreating notify details for each dispatch iteration c444e65 fix doc change caused by the change of tooz e2e1659 Deprecated tox -downloadcache option removed b6fb5dc Updated from global requirements a8d70b2 Add some useful commentary on rebinding processes adb3174 Use small helper routine to fetch atom metadata entries 78dd21f Remove 'MANIFEST.in' 7b75b7c Change engine 'self._check' into a decorator 4b0b740 Move engine options extraction to __init__ methods 0c66998 Convert executor proxied engine options into their correct type 7e594de Use the misc.ensure_dict helper in conductor engine options saving 9762c75 Move 'convert_to_timeout' to timing type as a helper function 0d8a8c4 Add validation of base exception type(s) in failure type 017175e Add in-memory backend delete() in recursive/non-recursive modes 598e09f Use the sqlalchemy-utils json type instead of our own 64677d2 Use alembic upgrade function/command directly Diffstat (except docs and test files) ------------------------------------- MANIFEST.in | 7 - requirements.txt | 7 +- taskflow/atom.py | 18 +- taskflow/conductors/backends/impl_executor.py | 30 +- taskflow/conductors/base.py | 5 +- taskflow/deciders.py | 99 ++++ taskflow/engines/action_engine/analyzer.py | 270 +++++------ taskflow/engines/action_engine/builder.py | 18 +- taskflow/engines/action_engine/compiler.py | 131 +++-- taskflow/engines/action_engine/completer.py | 56 +-- taskflow/engines/action_engine/deciders.py | 162 +++++++ taskflow/engines/action_engine/engine.py | 176 +++++-- taskflow/engines/action_engine/executor.py | 51 +- taskflow/engines/action_engine/runtime.py | 77 ++- taskflow/engines/action_engine/scopes.py | 35 +- taskflow/engines/action_engine/traversal.py | 126 +++++ taskflow/engines/base.py | 2 +- taskflow/engines/worker_based/server.py | 8 +- taskflow/exceptions.py | 8 + taskflow/flow.py | 13 +- taskflow/formatters.py | 123 +++-- taskflow/jobs/backends/__init__.py | 12 +- taskflow/jobs/backends/impl_zookeeper.py | 46 +- taskflow/jobs/base.py | 40 ++ taskflow/logging.py | 22 +- taskflow/patterns/graph_flow.py | 28 +- taskflow/persistence/backends/__init__.py | 22 +- taskflow/persistence/backends/impl_memory.py | 35 +- taskflow/persistence/backends/impl_sqlalchemy.py | 90 ++-- .../persistence/backends/sqlalchemy/alembic/env.py | 18 +- .../2ad4984f2864_switch_postgres_to_json_native.py | 58 +++ .../persistence/backends/sqlalchemy/migration.py | 23 +- taskflow/persistence/backends/sqlalchemy/tables.py | 31 +- taskflow/storage.py | 398 ++++++++++------ .../unit/persistence/test_memory_persistence.py | 39 +- taskflow/types/failure.py | 56 ++- taskflow/types/timing.py | 38 +- taskflow/utils/iter_utils.py | 48 +- taskflow/utils/misc.py | 77 +-- test-requirements.txt | 3 +- tox.ini | 3 - 55 files changed, 2316 insertions(+), 1132 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 7a26c1c..7236b45 100644 --- a/requirements.txt +++ b/requirements.txt @@ -14 +14 @@ six>=1.9.0 -enum34;python_version=='2.7' or python_version=='2.6' +enum34;python_version=='2.7' or python_version=='2.6' or python_version=='3.3' @@ -17 +17 @@ enum34;python_version=='2.7' or python_version=='2.6' -futurist>=0.1.2 # Apache-2.0 +futurist>=0.6.0 # Apache-2.0 @@ -44 +44 @@ automaton>=0.5.0 # Apache-2.0 -oslo.utils>=2.8.0 # Apache-2.0 +oslo.utils>=3.2.0 # Apache-2.0 @@ -45,0 +46 @@ oslo.serialization>=1.10.0 # Apache-2.0 +retrying!=1.3.0,>=1.2.3 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 1a6e23a..93cab32 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -25 +25 @@ redis>=2.10.0 -SQLAlchemy<1.1.0,>=0.9.9 +SQLAlchemy<1.1.0,>=1.0.10 @@ -27,0 +28 @@ psycopg2>=2.5 +sqlalchemy-utils # BSD License __________________________________________________________________________ OpenStack Development Mailing List (not for usage questions) Unsubscribe: openstack-dev-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev