[openstack-dev] TaskFlow 0.7.0 released
Joshua Harlow
harlowja at outlook.com
Mon Feb 2 23:47:36 UTC 2015
Thanks for that!
Much appreciated :-)
Joe Gordon wrote:
> This broke grenade on stable/juno, here is the fix.
>
> https://review.openstack.org/#/c/152333/
>
> On Mon, Feb 2, 2015 at 10:56 AM, Joshua Harlow <harlowja at outlook.com
> <mailto:harlowja at outlook.com>> wrote:
>
> The Oslo team is pleased to announce the release of:
>
> TaskFlow 0.7.0: taskflow structured state management library.
>
> For more details, please see the git log history below and:
>
> http://launchpad.net/taskflow/__+milestone/0.7.0
> <http://launchpad.net/taskflow/+milestone/0.7.0>
>
> Please report issues through launchpad:
>
> http://bugs.launchpad.net/__taskflow/
> <http://bugs.launchpad.net/taskflow/>
>
> Noteable changes
> ----------------
>
> * Using non-deprecated oslo.utils and oslo.serialization imports.
> * Added note(s) about publicly consumable types into docs.
> * Increase robustness of WBE producer/consumers by supporting and using
> the kombu provided feature to retry/ensure on transient/recoverable
> failures (such as timeouts).
> * Move the jobboard/job bases to a jobboard/base module and
> move the persistence base to the parent directory (standardizes how
> all pluggable types now have a similiar base module in a similar
> location,
> making the layout of taskflow's codebase easier to
> understand/follow).
> * Add executor statistics, using taskflow.futures executors now
> provides a
> useful feature to know about the following when using these
> executors.
> --------------------------
> | Statistic | What it is |
>
> ------------------------------__------------------------------__-------------
> | failures | How many submissions ended up raising exceptions
> |
> | executed | How many submissions were executed (failed or not)
> |
> | runtime | Total runtime of all submissions executed (failed
> or not) |
> | cancelled | How many submissions were cancelled before
> executing |
>
> ------------------------------__------------------------------__-------------
> * The taskflow logger module does not provide a logging adapter [bug]
> * Use monotonic time when/if available for stopwatches (py3.3+ natively
> supports this) and other time.time usage (where the usage of
> time.time only
> cares about the duration between two points in time).
> * Make all/most usage of type errors follow a similar pattern (exception
> cleanup).
>
> Changes in /homes/harlowja/dev/os/__taskflow 0.6.1..0.7.0
> ------------------------------__-------------------------
>
> NOTE: Skipping requirement commits...
>
> 19f9674 Abstract out the worker finding from the WBE engine
> 99b92ae Add and use a nicer kombu message formatter
> df6fb03 Remove duplicated 'do' in types documentation
> 43d70eb Use the class defined constant instead of raw strings
> 344b3f6 Use kombu socket.timeout alias instead of socket.timeout
> d5128cf Stopwatch usage cleanup/tweak
> 2e43b67 Add note about publicly consumable types
> e9226ca Add docstring to wbe proxy to denote not for public use
> 80888c6 Use monotonic time when/if available
> 7fe2945 Link WBE docs together better (especially around arguments)
> f3a1dcb Emit a warning when no routing keys provided on publish()
> 802bce9 Center SVG state diagrams
> 97797ab Use importutils.try_import for optional eventlet imports
> 84d44fa Shrink the WBE request transition SVG image size
> ca82e20 Add a thread bundle helper utility + tests
> e417914 Make all/most usage of type errors follow a similar pattern
> 2f04395 Leave use-cases out of WBE developer documentation
> e3e2950 Allow just specifying 'workers' for WBE entrypoint
> 66fc2df Add comments to runner state machine reaction functions
> 35745c9 Fix coverage environment
> fc9cb88 Use explicit WBE worker object arguments (instead of kwargs)
> 0672467 WBE documentation tweaks/adjustments
> 55ad11f Add a WBE request state diagram + explanation
> 45ef595 Tidy up the WBE cache (now WBE types) module
> 1469552 Fix leftover/remaining 'oslo.utils' usage
> 93d73b8 Show the failure discarded (and the future intention)
> 5773fb0 Use a class provided logger before falling back to module
> addc286 Use explicit WBE object arguments (instead of kwargs)
> 342c59e Fix persistence doc inheritance hierarchy
> 072210a The gathered runtime is for failures/not failures
> 410efa7 add clarification re parallel engine
> cb27080 Increase robustness of WBE producer/consumers
> bb38457 Move implementation(s) to there own sections
> f14ee9e Move the jobboard/job bases to a jobboard/base module
> ac5345e Have the serial task executor shutdown/restart its executor
> 426484f Mirror the task executor methods in the retry action
> d92c226 Add back a 'eventlet_utils' helper utility module
> 1ed0f22 Use constants for runner state machine event names
> bfc1136 Remove 'SaveOrderTask' and test state in class variables
> 22eef96 Provide the stopwatch elapsed method a maximum
> 3968508 Fix unused and conflicting variables
> 2280f9a Switch to using 'oslo_serialization' vs 'oslo.serialization'
> d748db9 Switch to using 'oslo_utils' vs 'oslo.utils'
> 9c15eff Add executor statistics
> bf2f205 Use oslo.utils reflection for class name
> 9fe99ba Add split time capturing to the stop watch
> 42a665d Use platform neutral line separator(s)
> eb536da Create and use a multiprocessing sync manager subclass
> 4c756ef Use a single sender
> 778e210 Include the 'old_state' in all currently provided listeners
> c07a96b Update the README.rst with accurate requirements
> 2f7d86a Include docstrings for parallel engine types/strings supported
> 0d602a8 The taskflow logger module does not provide a logging adapter
> 96e6d97 Send in the prior atom state on notification of a state change
> a588e48 Pass a string as executor in the example instead of an executor
> a18a939 Fix for job consumption example using wrong object
> 1d84fdd Add edge labels for engine states
> d0edb62 Move the persistence base to the parent directory
> 84b387f Rework the in-memory backend
>
> Diffstat (except docs and test files)
> ------------------------------__-------
>
> README.rst | 29 +-
> requirements-py2.txt | 4 +-
> requirements-py3.txt | 4 +-
> setup.cfg | 1 +
> taskflow/atom.py | 5 +-
> taskflow/engines/action___engine/actions/base.py | 42 +
> taskflow/engines/action___engine/actions/retry.py | 80 +-
> taskflow/engines/action___engine/actions/task.py | 43 +-
> taskflow/engines/action___engine/compiler.py | 2 +-
> taskflow/engines/action___engine/engine.py | 45 +-
> taskflow/engines/action___engine/executor.py | 60 +-
> taskflow/engines/action___engine/runner.py | 143 ++-
> taskflow/engines/action___engine/runtime.py | 5 +-
> taskflow/engines/action___engine/scheduler.py | 3 +-
> taskflow/engines/helpers.py | 4 +-
> taskflow/engines/worker_based/__cache.py | 48 -
> taskflow/engines/worker_based/__dispatcher.py | 57 +-
> taskflow/engines/worker_based/__endpoint.py | 2 +-
> taskflow/engines/worker_based/__engine.py | 9 +-
> taskflow/engines/worker_based/__executor.py | 170 +--
> taskflow/engines/worker_based/__protocol.py | 48 +-
> taskflow/engines/worker_based/__proxy.py | 156 ++-
> taskflow/engines/worker_based/__server.py | 51 +-
> taskflow/engines/worker_based/__types.py | 234 +++++
> taskflow/engines/worker_based/__worker.py | 39 +-
> taskflow/examples/alphabet___soup.py | 28 +-
> taskflow/examples/build_a_car.__py | 17 +-
> taskflow/examples/create___parallel_volume.py | 2 +-
> taskflow/examples/echo___listener.py | 56 +
> taskflow/examples/fake___billing.py | 8 +-
> taskflow/examples/hello_world.__py | 9 +-
> taskflow/examples/parallel___table_multiply.py | 4 +-
> taskflow/examples/resume_many___flows.py | 2 +-
> taskflow/examples/resume_vm___boot.py | 8 +-
> taskflow/examples/simple___linear_listening.py | 7 +-
> taskflow/examples/wbe_event___sender.py | 4 +-
> taskflow/examples/wbe___mandelbrot.py | 2 +-
> taskflow/exceptions.py | 10 +-
> taskflow/flow.py | 2 +-
> taskflow/jobs/backends/impl___zookeeper.py | 64 +-
> taskflow/jobs/base.py | 297 ++++++
> taskflow/jobs/job.py | 111 --
> taskflow/jobs/jobboard.py | 206 ----
> taskflow/listeners/base.py | 21 +-
> taskflow/listeners/claims.py | 4 +-
> taskflow/listeners/logging.py | 60 +-
> taskflow/persistence/backends/__base.py | 126 ---
> taskflow/persistence/backends/__impl_dir.py | 12 +-
> taskflow/persistence/backends/__impl_memory.py | 223 ++--
> taskflow/persistence/backends/__impl_sqlalchemy.py | 16 +-
> taskflow/persistence/backends/__impl_zookeeper.py | 14 +-
> taskflow/persistence/backends/__sqlalchemy/models.py | 6 +-
> taskflow/persistence/base.py | 126 +++
> taskflow/persistence/logbook.__py | 66 +-
> taskflow/storage.py | 8 +-
> taskflow/task.py | 2 +-
> taskflow/types/cache.py | 17 +-
> taskflow/types/failure.py | 15 +-
> taskflow/types/fsm.py | 2 +-
> taskflow/types/futures.py | 213 +++-
> taskflow/types/graph.py | 3 +-
> taskflow/types/latch.py | 15 +-
> taskflow/types/notifier.py | 2 +-
> taskflow/types/periodic.py | 179 ++++
> taskflow/types/table.py | 12 +-
> taskflow/types/timing.py | 187 +++-
> taskflow/types/tree.py | 4 +-
> taskflow/utils/async_utils.py | 11 +-
> taskflow/utils/deprecation.py | 2 +-
> taskflow/utils/eventlet_utils.__py | 34 +
> taskflow/utils/kazoo_utils.py | 5 +-
> taskflow/utils/kombu_utils.py | 73 ++
> taskflow/utils/misc.py | 83 +-
> taskflow/utils/persistence___utils.py | 11 +-
> taskflow/utils/threading___utils.py | 104 ++
> test-requirements.txt | 2 +-
> tools/generate_states.sh | 4 +
> tools/state_graph.py | 43 +-
> tox.ini | 1 +
> 122 files changed, 4704 insertions(+), 2295 deletions(-)
>
> Requirements updates
> --------------------
>
> diff --git a/requirements-py2.txt b/requirements-py2.txt
> index e142007..083caec 100644
> --- a/requirements-py2.txt
> +++ b/requirements-py2.txt
> @@ -29,2 +29,2 @@ jsonschema>=2.0.0,<3.0.0
> -oslo.utils>=1.1.0 # Apache-2.0
> -oslo.serialization>=1.0.0 # Apache-2.0
> +oslo.utils>=1.2.0 # Apache-2.0
> +oslo.serialization>=1.2.0 # Apache-2.0
> diff --git a/requirements-py3.txt b/requirements-py3.txt
> index d827a17..b04fc0a 100644
> --- a/requirements-py3.txt
> +++ b/requirements-py3.txt
> @@ -23,2 +23,2 @@ jsonschema>=2.0.0,<3.0.0
> -oslo.utils>=1.1.0 # Apache-2.0
> -oslo.serialization>=1.0.0 # Apache-2.0
> +oslo.utils>=1.2.0 # Apache-2.0
> +oslo.serialization>=1.2.0 # Apache-2.0
> diff --git a/test-requirements.txt b/test-requirements.txt
> index 96ab944..293ec5d 100644
> --- a/test-requirements.txt
> +++ b/test-requirements.txt
> @@ -27 +27 @@ kazoo>=1.3.1
> -alembic>=0.7.1
> +alembic>=0.7.2
>
> ______________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe:
> OpenStack-dev-request at lists.__openstack.org?subject:__unsubscribe
> <http://OpenStack-dev-request@lists.openstack.org?subject:unsubscribe>
> http://lists.openstack.org/__cgi-bin/mailman/listinfo/__openstack-dev <http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev>
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
More information about the OpenStack-dev
mailing list