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 <harlo...@outlook.com <mailto:harlo...@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@lists.__openstack.org?subject:__unsubscribe <http://openstack-dev-requ...@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-requ...@lists.openstack.org?subject:unsubscribe http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
__________________________________________________________________________ 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