taskflow 6.0.0__tar.gz → 6.0.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. {taskflow-6.0.0 → taskflow-6.0.2}/AUTHORS +1 -0
  2. {taskflow-6.0.0 → taskflow-6.0.2}/ChangeLog +13 -0
  3. {taskflow-6.0.0 → taskflow-6.0.2}/PKG-INFO +1 -1
  4. {taskflow-6.0.0 → taskflow-6.0.2}/setup-etcd-env.sh +1 -1
  5. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/conductors/backends/impl_executor.py +8 -18
  6. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/conductors/base.py +24 -0
  7. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/versions/00af93df9d77_add_unique_into_all_indexes.py +0 -6
  8. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/persistence/test_sql_persistence.py +4 -4
  9. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow.egg-info/PKG-INFO +1 -1
  10. taskflow-6.0.2/taskflow.egg-info/pbr.json +1 -0
  11. {taskflow-6.0.0 → taskflow-6.0.2}/tox.ini +2 -0
  12. taskflow-6.0.0/taskflow.egg-info/pbr.json +0 -1
  13. {taskflow-6.0.0 → taskflow-6.0.2}/.coveragerc +0 -0
  14. {taskflow-6.0.0 → taskflow-6.0.2}/.mailmap +0 -0
  15. {taskflow-6.0.0 → taskflow-6.0.2}/.pre-commit-config.yaml +0 -0
  16. {taskflow-6.0.0 → taskflow-6.0.2}/.pylintrc +0 -0
  17. {taskflow-6.0.0 → taskflow-6.0.2}/.stestr.conf +0 -0
  18. {taskflow-6.0.0 → taskflow-6.0.2}/.zuul.yaml +0 -0
  19. {taskflow-6.0.0 → taskflow-6.0.2}/CONTRIBUTING.rst +0 -0
  20. {taskflow-6.0.0 → taskflow-6.0.2}/LICENSE +0 -0
  21. {taskflow-6.0.0 → taskflow-6.0.2}/README.rst +0 -0
  22. {taskflow-6.0.0 → taskflow-6.0.2}/bindep.txt +0 -0
  23. {taskflow-6.0.0 → taskflow-6.0.2}/doc/diagrams/area_of_influence.graffle.tgz +0 -0
  24. {taskflow-6.0.0 → taskflow-6.0.2}/doc/diagrams/core.graffle.tgz +0 -0
  25. {taskflow-6.0.0 → taskflow-6.0.2}/doc/diagrams/jobboard.graffle.tgz +0 -0
  26. {taskflow-6.0.0 → taskflow-6.0.2}/doc/diagrams/tasks.graffle.tgz +0 -0
  27. {taskflow-6.0.0 → taskflow-6.0.2}/doc/diagrams/worker-engine.graffle.tgz +0 -0
  28. {taskflow-6.0.0 → taskflow-6.0.2}/doc/requirements.txt +0 -0
  29. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/conf.py +0 -0
  30. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/index.rst +0 -0
  31. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/templates/layout.html +0 -0
  32. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/arguments_and_results.rst +0 -0
  33. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/atoms.rst +0 -0
  34. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/conductors.rst +0 -0
  35. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/engines.rst +0 -0
  36. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/examples.rst +0 -0
  37. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/exceptions.rst +0 -0
  38. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/history.rst +0 -0
  39. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/area_of_influence.svg +0 -0
  40. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/conductor.png +0 -0
  41. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/conductor_cycle.png +0 -0
  42. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/distributed_flow_rpc.png +0 -0
  43. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/engine_states.svg +0 -0
  44. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/flow_states.svg +0 -0
  45. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/job_states.svg +0 -0
  46. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/jobboard.png +0 -0
  47. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/mandelbrot.png +0 -0
  48. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/retry_states.svg +0 -0
  49. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/task_states.svg +0 -0
  50. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/tasks.png +0 -0
  51. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/wbe_request_states.svg +0 -0
  52. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/img/worker-engine.svg +0 -0
  53. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/index.rst +0 -0
  54. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/inputs_and_outputs.rst +0 -0
  55. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/jobs.rst +0 -0
  56. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/notifications.rst +0 -0
  57. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/patterns.rst +0 -0
  58. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/persistence.rst +0 -0
  59. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/resumption.rst +0 -0
  60. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/shelf.rst +0 -0
  61. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/states.rst +0 -0
  62. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/types.rst +0 -0
  63. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/utils.rst +0 -0
  64. {taskflow-6.0.0 → taskflow-6.0.2}/doc/source/user/workers.rst +0 -0
  65. {taskflow-6.0.0 → taskflow-6.0.2}/playbooks/tests/functional/Debian.yaml +0 -0
  66. {taskflow-6.0.0 → taskflow-6.0.2}/playbooks/tests/functional/RedHat.yaml +0 -0
  67. {taskflow-6.0.0 → taskflow-6.0.2}/playbooks/tests/functional/pre.yml +0 -0
  68. {taskflow-6.0.0 → taskflow-6.0.2}/pyproject.toml +0 -0
  69. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/.placeholder +0 -0
  70. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/add-sentinel-redis-support-9fd16e2a5dd5c0c9.yaml +0 -0
  71. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/bug-2056656-871b67ddbc8cfc92.yaml +0 -0
  72. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/deprecate-eventlet-df4a34a7d56acc47.yaml +0 -0
  73. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/disable-process_executor-python-312-d1074c816bc8303e.yaml +0 -0
  74. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/drop-python-2-7-73d3113c69d724d6.yaml +0 -0
  75. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/etcd-jobboard-backend-8a9fea2238fb0f12.yaml +0 -0
  76. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/fix-endless-loop-on-storage-error-dd4467f0bbc66abf.yaml +0 -0
  77. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/fix-endless-loop-on-storage-failures-b98b30f0c34d25e1.yaml +0 -0
  78. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/fix-revert-all-revert-a0310cd7beaa7409.yaml +0 -0
  79. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/fix-storage-failure-handling-5c115d92daa0eb82.yaml +0 -0
  80. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/fix-zookeeper-option-parsing-f9d37fbc39af47f4.yaml +0 -0
  81. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/mask-keys-74b9bb5c420d8091.yaml +0 -0
  82. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/redis-username-df0eb33869db09a2.yaml +0 -0
  83. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/remove-process_executor-f59d40a5dd287cd7.yaml +0 -0
  84. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/remove-py38-15af791146f479e1.yaml +0 -0
  85. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/remove-strict-redis-f2a5a924b314de41.yaml +0 -0
  86. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/sentinel-fallbacks-6fe2ab0d68959cdf.yaml +0 -0
  87. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/sentinel-ssl-399c56ed7067d282.yaml +0 -0
  88. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/sentinel-use-redis-creds-63f58b12ad46a2b5.yaml +0 -0
  89. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/notes/zookeeper-ssl-support-b9abf24a39096b62.yaml +0 -0
  90. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/2023.1.rst +0 -0
  91. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/2023.2.rst +0 -0
  92. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/2024.1.rst +0 -0
  93. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/2024.2.rst +0 -0
  94. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/2025.1.rst +0 -0
  95. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/_static/.placeholder +0 -0
  96. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/_templates/.placeholder +0 -0
  97. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/conf.py +0 -0
  98. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/index.rst +0 -0
  99. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/ocata.rst +0 -0
  100. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/pike.rst +0 -0
  101. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/queens.rst +0 -0
  102. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/rocky.rst +0 -0
  103. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/stein.rst +0 -0
  104. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/train.rst +0 -0
  105. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/unreleased.rst +0 -0
  106. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/ussuri.rst +0 -0
  107. {taskflow-6.0.0 → taskflow-6.0.2}/releasenotes/source/victoria.rst +0 -0
  108. {taskflow-6.0.0 → taskflow-6.0.2}/requirements.txt +0 -0
  109. {taskflow-6.0.0 → taskflow-6.0.2}/run_tests.sh +0 -0
  110. {taskflow-6.0.0 → taskflow-6.0.2}/setup.cfg +0 -0
  111. {taskflow-6.0.0 → taskflow-6.0.2}/setup.py +0 -0
  112. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/__init__.py +0 -0
  113. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/atom.py +0 -0
  114. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/conductors/__init__.py +0 -0
  115. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/conductors/backends/__init__.py +0 -0
  116. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/conductors/backends/impl_blocking.py +0 -0
  117. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/conductors/backends/impl_nonblocking.py +0 -0
  118. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/contrib/__init__.py +0 -0
  119. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/deciders.py +0 -0
  120. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/__init__.py +0 -0
  121. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/__init__.py +0 -0
  122. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/actions/__init__.py +0 -0
  123. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/actions/base.py +0 -0
  124. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/actions/retry.py +0 -0
  125. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/actions/task.py +0 -0
  126. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/builder.py +0 -0
  127. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/compiler.py +0 -0
  128. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/completer.py +0 -0
  129. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/deciders.py +0 -0
  130. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/engine.py +0 -0
  131. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/executor.py +0 -0
  132. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/runtime.py +0 -0
  133. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/scheduler.py +0 -0
  134. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/scopes.py +0 -0
  135. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/selector.py +0 -0
  136. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/action_engine/traversal.py +0 -0
  137. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/base.py +0 -0
  138. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/helpers.py +0 -0
  139. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/worker_based/__init__.py +0 -0
  140. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/worker_based/dispatcher.py +0 -0
  141. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/worker_based/endpoint.py +0 -0
  142. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/worker_based/engine.py +0 -0
  143. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/worker_based/executor.py +0 -0
  144. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/worker_based/protocol.py +0 -0
  145. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/worker_based/proxy.py +0 -0
  146. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/worker_based/server.py +0 -0
  147. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/worker_based/types.py +0 -0
  148. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/engines/worker_based/worker.py +0 -0
  149. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/99_bottles.py +0 -0
  150. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/alphabet_soup.py +0 -0
  151. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/build_a_car.py +0 -0
  152. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/buildsystem.py +0 -0
  153. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/calculate_in_parallel.py +0 -0
  154. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/calculate_linear.py +0 -0
  155. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/create_parallel_volume.py +0 -0
  156. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/delayed_return.py +0 -0
  157. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/distance_calculator.py +0 -0
  158. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/dump_memory_backend.py +0 -0
  159. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/echo_listener.py +0 -0
  160. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/example_utils.py +0 -0
  161. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/fake_billing.py +0 -0
  162. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/graph_flow.py +0 -0
  163. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/hello_world.py +0 -0
  164. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/jobboard_produce_consume_colors.py +0 -0
  165. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/parallel_table_multiply.py +0 -0
  166. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/persistence_example.py +0 -0
  167. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/pseudo_scoping.out.txt +0 -0
  168. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/pseudo_scoping.py +0 -0
  169. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/resume_from_backend.out.txt +0 -0
  170. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/resume_from_backend.py +0 -0
  171. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/resume_many_flows/my_flows.py +0 -0
  172. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/resume_many_flows/resume_all.py +0 -0
  173. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/resume_many_flows/run_flow.py +0 -0
  174. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/resume_many_flows.out.txt +0 -0
  175. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/resume_many_flows.py +0 -0
  176. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/resume_vm_boot.py +0 -0
  177. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/resume_volume_create.py +0 -0
  178. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/retry_flow.out.txt +0 -0
  179. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/retry_flow.py +0 -0
  180. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/reverting_linear.out.txt +0 -0
  181. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/reverting_linear.py +0 -0
  182. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/run_by_iter.out.txt +0 -0
  183. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/run_by_iter.py +0 -0
  184. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/run_by_iter_enumerate.out.txt +0 -0
  185. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/run_by_iter_enumerate.py +0 -0
  186. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/share_engine_thread.py +0 -0
  187. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/simple_linear.out.txt +0 -0
  188. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/simple_linear.py +0 -0
  189. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/simple_linear_listening.out.txt +0 -0
  190. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/simple_linear_listening.py +0 -0
  191. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/simple_linear_pass.out.txt +0 -0
  192. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/simple_linear_pass.py +0 -0
  193. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/simple_map_reduce.py +0 -0
  194. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/switch_graph_flow.py +0 -0
  195. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/timing_listener.py +0 -0
  196. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/tox_conductor.py +0 -0
  197. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/wbe_event_sender.py +0 -0
  198. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/wbe_mandelbrot.out.txt +0 -0
  199. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/wbe_mandelbrot.py +0 -0
  200. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/wbe_simple_linear.out.txt +0 -0
  201. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/wbe_simple_linear.py +0 -0
  202. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/examples/wrapped_exception.py +0 -0
  203. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/exceptions.py +0 -0
  204. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/flow.py +0 -0
  205. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/formatters.py +0 -0
  206. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/jobs/__init__.py +0 -0
  207. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/jobs/backends/__init__.py +0 -0
  208. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/jobs/backends/impl_etcd.py +0 -0
  209. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/jobs/backends/impl_redis.py +0 -0
  210. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/jobs/backends/impl_zookeeper.py +0 -0
  211. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/jobs/base.py +0 -0
  212. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/listeners/__init__.py +0 -0
  213. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/listeners/base.py +0 -0
  214. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/listeners/capturing.py +0 -0
  215. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/listeners/claims.py +0 -0
  216. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/listeners/logging.py +0 -0
  217. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/listeners/printing.py +0 -0
  218. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/listeners/timing.py +0 -0
  219. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/logging.py +0 -0
  220. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/patterns/__init__.py +0 -0
  221. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/patterns/graph_flow.py +0 -0
  222. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/patterns/linear_flow.py +0 -0
  223. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/patterns/unordered_flow.py +0 -0
  224. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/__init__.py +0 -0
  225. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/__init__.py +0 -0
  226. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/impl_dir.py +0 -0
  227. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/impl_memory.py +0 -0
  228. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/impl_sqlalchemy.py +0 -0
  229. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/impl_zookeeper.py +0 -0
  230. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/__init__.py +0 -0
  231. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/README +0 -0
  232. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/alembic.ini +0 -0
  233. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/env.py +0 -0
  234. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/script.py.mako +0 -0
  235. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/versions/0bc3e1a3c135_set_result_meduimtext_type.py +0 -0
  236. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/versions/14b227d79a87_add_intention_column.py +0 -0
  237. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/versions/1c783c0c2875_replace_exception_an.py +0 -0
  238. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/versions/1cea328f0f65_initial_logbook_deta.py +0 -0
  239. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/versions/2ad4984f2864_switch_postgres_to_json_native.py +0 -0
  240. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/versions/3162c0f3f8e4_add_revert_results_and_revert_failure_.py +0 -0
  241. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/versions/40fc8c914bd2_fix_atomdetails_failure_size.py +0 -0
  242. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/versions/589dccdf2b6e_rename_taskdetails_to_atomdetails.py +0 -0
  243. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/versions/6df9422fcb43_fix_flowdetails_meta_size.py +0 -0
  244. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/versions/84d6e888850_add_task_detail_type.py +0 -0
  245. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/alembic/versions/README +0 -0
  246. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/migration.py +0 -0
  247. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/backends/sqlalchemy/tables.py +0 -0
  248. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/base.py +0 -0
  249. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/models.py +0 -0
  250. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/persistence/path_based.py +0 -0
  251. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/retry.py +0 -0
  252. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/states.py +0 -0
  253. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/storage.py +0 -0
  254. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/task.py +0 -0
  255. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/test.py +0 -0
  256. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/__init__.py +0 -0
  257. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/fixtures.py +0 -0
  258. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/test_examples.py +0 -0
  259. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/__init__.py +0 -0
  260. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/action_engine/__init__.py +0 -0
  261. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/action_engine/test_builder.py +0 -0
  262. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/action_engine/test_compile.py +0 -0
  263. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/action_engine/test_creation.py +0 -0
  264. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/action_engine/test_scoping.py +0 -0
  265. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/jobs/__init__.py +0 -0
  266. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/jobs/base.py +0 -0
  267. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/jobs/test_entrypoint.py +0 -0
  268. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/jobs/test_etcd_job.py +0 -0
  269. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/jobs/test_redis_job.py +0 -0
  270. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/jobs/test_zk_job.py +0 -0
  271. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/patterns/__init__.py +0 -0
  272. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/patterns/test_graph_flow.py +0 -0
  273. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/patterns/test_linear_flow.py +0 -0
  274. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/patterns/test_unordered_flow.py +0 -0
  275. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/persistence/__init__.py +0 -0
  276. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/persistence/base.py +0 -0
  277. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/persistence/test_dir_persistence.py +0 -0
  278. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/persistence/test_memory_persistence.py +0 -0
  279. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/persistence/test_zk_persistence.py +0 -0
  280. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_arguments_passing.py +0 -0
  281. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_check_transition.py +0 -0
  282. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_conductors.py +0 -0
  283. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_deciders.py +0 -0
  284. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_engine_helpers.py +0 -0
  285. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_engines.py +0 -0
  286. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_exceptions.py +0 -0
  287. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_failure.py +0 -0
  288. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_flow_dependencies.py +0 -0
  289. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_formatters.py +0 -0
  290. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_functor_task.py +0 -0
  291. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_listeners.py +0 -0
  292. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_mapfunctor_task.py +0 -0
  293. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_notifier.py +0 -0
  294. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_progress.py +0 -0
  295. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_reducefunctor_task.py +0 -0
  296. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_retries.py +0 -0
  297. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_states.py +0 -0
  298. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_storage.py +0 -0
  299. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_suspend.py +0 -0
  300. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_task.py +0 -0
  301. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_types.py +0 -0
  302. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_utils.py +0 -0
  303. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_utils_async_utils.py +0 -0
  304. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_utils_binary.py +0 -0
  305. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_utils_iter_utils.py +0 -0
  306. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_utils_kazoo_utils.py +0 -0
  307. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/test_utils_threading_utils.py +0 -0
  308. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/worker_based/__init__.py +0 -0
  309. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/worker_based/test_creation.py +0 -0
  310. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/worker_based/test_dispatcher.py +0 -0
  311. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/worker_based/test_endpoint.py +0 -0
  312. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/worker_based/test_executor.py +0 -0
  313. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/worker_based/test_message_pump.py +0 -0
  314. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/worker_based/test_pipeline.py +0 -0
  315. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/worker_based/test_protocol.py +0 -0
  316. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/worker_based/test_proxy.py +0 -0
  317. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/worker_based/test_server.py +0 -0
  318. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/worker_based/test_types.py +0 -0
  319. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/unit/worker_based/test_worker.py +0 -0
  320. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/tests/utils.py +0 -0
  321. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/types/__init__.py +0 -0
  322. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/types/entity.py +0 -0
  323. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/types/failure.py +0 -0
  324. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/types/graph.py +0 -0
  325. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/types/latch.py +0 -0
  326. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/types/notifier.py +0 -0
  327. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/types/sets.py +0 -0
  328. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/types/timing.py +0 -0
  329. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/types/tree.py +0 -0
  330. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/utils/__init__.py +0 -0
  331. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/utils/async_utils.py +0 -0
  332. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/utils/banner.py +0 -0
  333. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/utils/eventlet_utils.py +0 -0
  334. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/utils/iter_utils.py +0 -0
  335. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/utils/kazoo_utils.py +0 -0
  336. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/utils/kombu_utils.py +0 -0
  337. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/utils/misc.py +0 -0
  338. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/utils/persistence_utils.py +0 -0
  339. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/utils/redis_utils.py +0 -0
  340. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/utils/schema_utils.py +0 -0
  341. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/utils/threading_utils.py +0 -0
  342. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow/version.py +0 -0
  343. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow.egg-info/SOURCES.txt +0 -0
  344. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow.egg-info/dependency_links.txt +0 -0
  345. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow.egg-info/entry_points.txt +0 -0
  346. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow.egg-info/not-zip-safe +0 -0
  347. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow.egg-info/requires.txt +0 -0
  348. {taskflow-6.0.0 → taskflow-6.0.2}/taskflow.egg-info/top_level.txt +0 -0
  349. {taskflow-6.0.0 → taskflow-6.0.2}/test-requirements.txt +0 -0
  350. {taskflow-6.0.0 → taskflow-6.0.2}/tools/clear_zk.sh +0 -0
  351. {taskflow-6.0.0 → taskflow-6.0.2}/tools/env_builder.sh +0 -0
  352. {taskflow-6.0.0 → taskflow-6.0.2}/tools/pretty_tox.sh +0 -0
  353. {taskflow-6.0.0 → taskflow-6.0.2}/tools/schema_generator.py +0 -0
  354. {taskflow-6.0.0 → taskflow-6.0.2}/tools/speed_test.py +0 -0
  355. {taskflow-6.0.0 → taskflow-6.0.2}/tools/state_graph.py +0 -0
  356. {taskflow-6.0.0 → taskflow-6.0.2}/tools/subunit_trace.py +0 -0
  357. {taskflow-6.0.0 → taskflow-6.0.2}/tools/test-setup.sh +0 -0
  358. {taskflow-6.0.0 → taskflow-6.0.2}/tools/update_states.sh +0 -0
@@ -9,6 +9,7 @@ Ann Taraday <akamyshnikova@mirantis.com>
9
9
  Atsushi SAKAI <sakaia@jp.fujitsu.com>
10
10
  Balaji Narayanan <lists@balajin.net>
11
11
  Ben Nemec <bnemec@redhat.com>
12
+ Brett Delle Grazie <brett.dellegrazie@gmail.com>
12
13
  Brian Jarrett <celttechie@gmail.com>
13
14
  ChangBo Guo(gcb) <eric.guo@easystack.cn>
14
15
  Changbin Liu <changbl@research.att.com>
@@ -1,6 +1,19 @@
1
1
  CHANGES
2
2
  =======
3
3
 
4
+ 6.0.2
5
+ -----
6
+
7
+ * Bump etcd to 3.5.x
8
+ * Allow overriding etcd version in tests
9
+ * fix(conductor): add stop and wait methods to base
10
+
11
+ 6.0.1
12
+ -----
13
+
14
+ * Fix skipped database persistence tests
15
+ * Fix duplicate table\_name argument
16
+
4
17
  6.0.0
5
18
  -----
6
19
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: taskflow
3
- Version: 6.0.0
3
+ Version: 6.0.2
4
4
  Summary: Taskflow structured state management library.
5
5
  Home-page: https://docs.openstack.org/taskflow/latest/
6
6
  Author: OpenStack
@@ -1,7 +1,7 @@
1
1
  #!/bin/bash
2
2
  set -eux
3
3
  if [ -z "$(which etcd)" ]; then
4
- ETCD_VERSION=3.4.27
4
+ ETCD_VERSION=${ETCD_VERSION:-3.5.21}
5
5
  case `uname -s` in
6
6
  Darwin)
7
7
  OS=darwin
@@ -121,16 +121,12 @@ class ExecutorConductor(base.Conductor, metaclass=abc.ABCMeta):
121
121
  " it has not been")
122
122
 
123
123
  def stop(self):
124
- """Requests the conductor to stop dispatching.
125
-
126
- This method can be used to request that a conductor stop its
127
- consumption & dispatching loop.
128
-
129
- The method returns immediately regardless of whether the conductor has
130
- been stopped.
131
- """
132
124
  self._wait_timeout.interrupt()
133
125
 
126
+ # Inherit the docs, so we can reference them in our class docstring,
127
+ # if we don't do this sphinx gets confused...
128
+ stop.__doc__ = base.Conductor.stop.__doc__
129
+
134
130
  @property
135
131
  def dispatching(self):
136
132
  """Whether or not the dispatching loop is still dispatching."""
@@ -342,14 +338,8 @@ class ExecutorConductor(base.Conductor, metaclass=abc.ABCMeta):
342
338
  run.__doc__ = base.Conductor.run.__doc__
343
339
 
344
340
  def wait(self, timeout=None):
345
- """Waits for the conductor to gracefully exit.
346
-
347
- This method waits for the conductor to gracefully exit. An optional
348
- timeout can be provided, which will cause the method to return
349
- within the specified timeout. If the timeout is reached, the returned
350
- value will be ``False``, otherwise it will be ``True``.
351
-
352
- :param timeout: Maximum number of seconds that the :meth:`wait` method
353
- should block for.
354
- """
355
341
  return self._dead.wait(timeout)
342
+
343
+ # Inherit the docs, so we can reference them in our class docstring,
344
+ # if we don't do this sphinx gets confused...
345
+ wait.__doc__ = base.Conductor.wait.__doc__
@@ -161,6 +161,30 @@ class Conductor(metaclass=abc.ABCMeta):
161
161
  forever and/or until stopped).
162
162
  """
163
163
 
164
+ @abc.abstractmethod
165
+ def stop(self):
166
+ """Requests the conductor to stop dispatching.
167
+
168
+ This method can be used to request that a conductor stop its
169
+ consumption & dispatching loop.
170
+
171
+ The method returns immediately regardless of whether the conductor has
172
+ been stopped.
173
+ """
174
+
175
+ @abc.abstractmethod
176
+ def wait(self, timeout=None):
177
+ """Waits for the conductor to gracefully exit.
178
+
179
+ This method waits for the conductor to gracefully exit. An optional
180
+ timeout can be provided, which will cause the method to return
181
+ within the specified timeout. If the timeout is reached, the returned
182
+ value will be ``False``, otherwise it will be ``True``.
183
+
184
+ :param timeout: Maximum number of seconds that the :meth:`wait` method
185
+ should block for.
186
+ """
187
+
164
188
  @abc.abstractmethod
165
189
  def _dispatch_job(self, job):
166
190
  """Dispatches a claimed job for work completion.
@@ -33,7 +33,6 @@ def upgrade():
33
33
  batch_op.drop_index("logbook_uuid_idx")
34
34
  batch_op.create_index(
35
35
  index_name="logbook_uuid_idx",
36
- table_name="logbooks",
37
36
  columns=['uuid'],
38
37
  unique=True)
39
38
 
@@ -41,7 +40,6 @@ def upgrade():
41
40
  batch_op.drop_index("flowdetails_uuid_idx")
42
41
  batch_op.create_index(
43
42
  index_name="flowdetails_uuid_idx",
44
- table_name="flowdetails",
45
43
  columns=['uuid'],
46
44
  unique=True)
47
45
 
@@ -49,7 +47,6 @@ def upgrade():
49
47
  batch_op.drop_index("taskdetails_uuid_idx")
50
48
  batch_op.create_index(
51
49
  index_name="taskdetails_uuid_idx",
52
- table_name="atomdetails",
53
50
  columns=['uuid'],
54
51
  unique=True)
55
52
 
@@ -62,19 +59,16 @@ def downgrade():
62
59
  batch_op.drop_index("logbook_uuid_idx")
63
60
  batch_op.create_index(
64
61
  index_name="logbook_uuid_idx",
65
- table_name="logbooks",
66
62
  columns=['uuid'])
67
63
 
68
64
  with op.batch_alter_table("flowdetails") as batch_op:
69
65
  batch_op.drop_index("flowdetails_uuid_idx")
70
66
  batch_op.create_index(
71
67
  index_name="flowdetails_uuid_idx",
72
- table_name="flowdetails",
73
68
  columns=['uuid'])
74
69
 
75
70
  with op.batch_alter_table("atomdetails") as batch_op:
76
71
  batch_op.drop_index("taskdetails_uuid_idx")
77
72
  batch_op.create_index(
78
73
  index_name="taskdetails_uuid_idx",
79
- table_name="atomdetails",
80
74
  columns=['uuid'])
@@ -173,7 +173,7 @@ class MysqlPersistenceTest(BackendPersistenceTestMixin, test.TestCase):
173
173
  db_uri = _get_connect_string('mysql', USER, PASSWD)
174
174
  engine = sa.create_engine(db_uri)
175
175
  with contextlib.closing(engine.connect()) as conn:
176
- conn.execute("CREATE DATABASE %s" % DATABASE)
176
+ conn.execute(sa.text("CREATE DATABASE %s" % DATABASE))
177
177
  except Exception as e:
178
178
  raise Exception('Failed to initialize MySQL db: %s' % (e))
179
179
  finally:
@@ -190,7 +190,7 @@ class MysqlPersistenceTest(BackendPersistenceTestMixin, test.TestCase):
190
190
  try:
191
191
  engine = sa.create_engine(self.db_uri)
192
192
  with contextlib.closing(engine.connect()) as conn:
193
- conn.execute("DROP DATABASE IF EXISTS %s" % DATABASE)
193
+ conn.execute(sa.text("DROP DATABASE IF EXISTS %s" % DATABASE))
194
194
  except Exception as e:
195
195
  raise Exception('Failed to remove temporary database: %s' % (e))
196
196
  finally:
@@ -215,7 +215,7 @@ class PostgresPersistenceTest(BackendPersistenceTestMixin, test.TestCase):
215
215
  engine = sa.create_engine(db_uri)
216
216
  with contextlib.closing(engine.connect()) as conn:
217
217
  conn.connection.set_isolation_level(0)
218
- conn.execute("CREATE DATABASE %s" % DATABASE)
218
+ conn.execute(sa.text("CREATE DATABASE %s" % DATABASE))
219
219
  conn.connection.set_isolation_level(1)
220
220
  except Exception as e:
221
221
  raise Exception('Failed to initialize PostgreSQL db: %s' % (e))
@@ -239,7 +239,7 @@ class PostgresPersistenceTest(BackendPersistenceTestMixin, test.TestCase):
239
239
  engine = sa.create_engine(db_uri)
240
240
  with contextlib.closing(engine.connect()) as conn:
241
241
  conn.connection.set_isolation_level(0)
242
- conn.execute("DROP DATABASE IF EXISTS %s" % DATABASE)
242
+ conn.execute(sa.text("DROP DATABASE IF EXISTS %s" % DATABASE))
243
243
  conn.connection.set_isolation_level(1)
244
244
  except Exception as e:
245
245
  raise Exception('Failed to remove temporary database: %s' % (e))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: taskflow
3
- Version: 6.0.0
3
+ Version: 6.0.2
4
4
  Summary: Taskflow structured state management library.
5
5
  Home-page: https://docs.openstack.org/taskflow/latest/
6
6
  Author: OpenStack
@@ -0,0 +1 @@
1
+ {"git_version": "bad7ab98", "is_release": true}
@@ -27,6 +27,8 @@ commands =
27
27
  allowlist_externals =
28
28
  find
29
29
  ./setup-etcd-env.sh
30
+ passenv =
31
+ ETCD_VERSION
30
32
 
31
33
  [testenv:update-states]
32
34
  deps =
@@ -1 +0,0 @@
1
- {"git_version": "32a8d257", "is_release": true}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes