taskflow 5.7.0__py3-none-any.whl → 5.9.0__py3-none-any.whl
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.
- taskflow/engines/action_engine/engine.py +18 -6
- taskflow/engines/action_engine/process_executor.py +2 -0
- taskflow/jobs/backends/impl_etcd.py +610 -0
- taskflow/test.py +0 -26
- taskflow/tests/unit/action_engine/test_creation.py +9 -3
- taskflow/tests/unit/action_engine/test_process_executor.py +19 -12
- taskflow/tests/unit/jobs/test_etcd_job.py +421 -0
- taskflow/tests/unit/test_arguments_passing.py +6 -0
- taskflow/tests/unit/test_engines.py +6 -0
- taskflow/tests/unit/test_retries.py +6 -0
- taskflow/tests/unit/test_suspend.py +6 -0
- taskflow/tests/utils.py +10 -0
- {taskflow-5.7.0.dist-info → taskflow-5.9.0.dist-info}/AUTHORS +1 -0
- {taskflow-5.7.0.dist-info → taskflow-5.9.0.dist-info}/METADATA +7 -5
- {taskflow-5.7.0.dist-info → taskflow-5.9.0.dist-info}/RECORD +20 -18
- {taskflow-5.7.0.dist-info → taskflow-5.9.0.dist-info}/entry_points.txt +1 -0
- taskflow-5.9.0.dist-info/pbr.json +1 -0
- taskflow-5.7.0.dist-info/pbr.json +0 -1
- {taskflow-5.7.0.dist-info → taskflow-5.9.0.dist-info}/LICENSE +0 -0
- {taskflow-5.7.0.dist-info → taskflow-5.9.0.dist-info}/WHEEL +0 -0
- {taskflow-5.7.0.dist-info → taskflow-5.9.0.dist-info}/top_level.txt +0 -0
taskflow/tests/utils.py
CHANGED
|
@@ -19,6 +19,7 @@ import string
|
|
|
19
19
|
import threading
|
|
20
20
|
import time
|
|
21
21
|
|
|
22
|
+
import etcd3gw
|
|
22
23
|
from oslo_utils import timeutils
|
|
23
24
|
import redis
|
|
24
25
|
|
|
@@ -88,6 +89,15 @@ def redis_available(min_version):
|
|
|
88
89
|
return ok
|
|
89
90
|
|
|
90
91
|
|
|
92
|
+
def etcd_available():
|
|
93
|
+
client = etcd3gw.Etcd3Client()
|
|
94
|
+
try:
|
|
95
|
+
client.get("/")
|
|
96
|
+
except Exception:
|
|
97
|
+
return False
|
|
98
|
+
return True
|
|
99
|
+
|
|
100
|
+
|
|
91
101
|
class NoopRetry(retry.AlwaysRevert):
|
|
92
102
|
pass
|
|
93
103
|
|
|
@@ -16,6 +16,7 @@ Christian Berendt <berendt@b1-systems.de>
|
|
|
16
16
|
Chuck Short <chuck.short@canonical.com>
|
|
17
17
|
Corey Bryant <corey.bryant@canonical.com>
|
|
18
18
|
Cyril Roelandt <cyril.roelandt@enovance.com>
|
|
19
|
+
Cyril Roelandt <cyril@redhat.com>
|
|
19
20
|
Dan Krause <dan.krause@rackspace.com>
|
|
20
21
|
Daniel Bengtsson <dbengt@redhat.com>
|
|
21
22
|
Davanum Srinivas <davanum@gmail.com>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: taskflow
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.9.0
|
|
4
4
|
Summary: Taskflow structured state management library.
|
|
5
5
|
Home-page: https://docs.openstack.org/taskflow/latest/
|
|
6
6
|
Author: OpenStack
|
|
@@ -31,20 +31,22 @@ Requires-Dist: fasteners (>=0.17.3)
|
|
|
31
31
|
Requires-Dist: futurist (>=1.2.0)
|
|
32
32
|
Requires-Dist: jsonschema (>=3.2.0)
|
|
33
33
|
Requires-Dist: networkx (>=2.1.0)
|
|
34
|
-
Requires-Dist: oslo.serialization (
|
|
34
|
+
Requires-Dist: oslo.serialization (>=2.18.0)
|
|
35
35
|
Requires-Dist: oslo.utils (>=3.33.0)
|
|
36
|
-
Requires-Dist: pbr (
|
|
36
|
+
Requires-Dist: pbr (>=2.0.0)
|
|
37
37
|
Requires-Dist: pydot (>=1.2.4)
|
|
38
38
|
Requires-Dist: stevedore (>=1.20.0)
|
|
39
39
|
Requires-Dist: tenacity (>=6.0.0)
|
|
40
40
|
Provides-Extra: database
|
|
41
41
|
Requires-Dist: PyMySQL (>=0.7.6) ; extra == 'database'
|
|
42
|
-
Requires-Dist: SQLAlchemy (!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10) ; extra == 'database'
|
|
43
42
|
Requires-Dist: SQLAlchemy-Utils (>=0.30.11) ; extra == 'database'
|
|
43
|
+
Requires-Dist: SQLAlchemy (>=1.0.10) ; extra == 'database'
|
|
44
44
|
Requires-Dist: alembic (>=0.8.10) ; extra == 'database'
|
|
45
45
|
Requires-Dist: psycopg2 (>=2.8.0) ; extra == 'database'
|
|
46
|
+
Provides-Extra: etcd
|
|
47
|
+
Requires-Dist: etcd3gw (>=2.0.0) ; extra == 'etcd'
|
|
46
48
|
Provides-Extra: eventlet
|
|
47
|
-
Requires-Dist: eventlet (
|
|
49
|
+
Requires-Dist: eventlet (>=0.18.2) ; extra == 'eventlet'
|
|
48
50
|
Provides-Extra: redis
|
|
49
51
|
Requires-Dist: redis (>=4.0.0) ; extra == 'redis'
|
|
50
52
|
Provides-Extra: test
|
|
@@ -9,7 +9,7 @@ taskflow/retry.py,sha256=Dk-IcdPi5n2502fzmVMjrWLzlrXp6h1ak_xOpOWoh6s,14537
|
|
|
9
9
|
taskflow/states.py,sha256=3MRdAfs0x94QhDjl-RGyTfxAbkL3APtNr_qQf6apqbE,6901
|
|
10
10
|
taskflow/storage.py,sha256=CSCegSPkrw2QDP6qGrzUYTWBFBX34Kqv0p9hwYId9oM,52114
|
|
11
11
|
taskflow/task.py,sha256=qw79ho1bhwe5KttSPjalfUlCTfLUjNGc1twNdTFMi4w,10052
|
|
12
|
-
taskflow/test.py,sha256=
|
|
12
|
+
taskflow/test.py,sha256=T6DfnwU7NcSRLfAYR3QgmGXhRVkYfeH-6JEp2jffQh8,9341
|
|
13
13
|
taskflow/version.py,sha256=QWhiNICILD4xTAZPrJVUF9dsH-VoCHbHsKuwPA3IMrE,1263
|
|
14
14
|
taskflow/conductors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
taskflow/conductors/base.py,sha256=k7E_zu9CIORhODWzwmxh7w8fSNhG6dJaYEfLwIxhxXE,7332
|
|
@@ -26,9 +26,9 @@ taskflow/engines/action_engine/builder.py,sha256=cYdzNpPSgzpQgO9YCp4T7JgRmpD4L90
|
|
|
26
26
|
taskflow/engines/action_engine/compiler.py,sha256=26x5yTtNfBcieeaza1n-MiPmUIP-nH2eA_hGOmgy8U8,16164
|
|
27
27
|
taskflow/engines/action_engine/completer.py,sha256=wjKpUM1QPr_fVnVG_XqA7gw0IKEA_aj3FrEvCITN0J4,9028
|
|
28
28
|
taskflow/engines/action_engine/deciders.py,sha256=WEKo189CL9Zdg506Sz3Mlxpfp6dqGv7TMcfI07h69Co,7254
|
|
29
|
-
taskflow/engines/action_engine/engine.py,sha256=
|
|
29
|
+
taskflow/engines/action_engine/engine.py,sha256=kz_9BVD22IO2mEHBc735zUDPCF0Y_hzcAuQqZpUUVCk,29817
|
|
30
30
|
taskflow/engines/action_engine/executor.py,sha256=sBmKwgDQN9fEZz42T7RB-RYUZvWqfHqC-Y2EsWRGkYI,7749
|
|
31
|
-
taskflow/engines/action_engine/process_executor.py,sha256=
|
|
31
|
+
taskflow/engines/action_engine/process_executor.py,sha256=if8kc7Dg3lvT7NwKVe2eqHhksv1pxEPNoI5E80naGr4,27975
|
|
32
32
|
taskflow/engines/action_engine/runtime.py,sha256=exGFpk7iPPrl7vywAHqdeDW-cyFlYxphPLi8W1umP3o,13845
|
|
33
33
|
taskflow/engines/action_engine/scheduler.py,sha256=yZEn2z23N-0XNpHtjOs3kxJh4CTpZl-2ASrPsyLP2t0,4048
|
|
34
34
|
taskflow/engines/action_engine/scopes.py,sha256=u0cmoMycrNZqMebgKqLW2YXBVLukNi9dVqKOFr79lKw,5432
|
|
@@ -105,6 +105,7 @@ taskflow/examples/resume_many_flows/run_flow.py,sha256=MOD78Zg7IaSAVRoLPap36njTZ
|
|
|
105
105
|
taskflow/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
106
106
|
taskflow/jobs/base.py,sha256=nowX7pKESnTz-_iPmg1vUQJ0bgO3HLOOtytOKOy12kA,22463
|
|
107
107
|
taskflow/jobs/backends/__init__.py,sha256=ILlqq_U0FPM77nPQgx_OexjHxUvC5Tl4RXkX-IznSfw,2902
|
|
108
|
+
taskflow/jobs/backends/impl_etcd.py,sha256=3o5xBe0UkqPo9b8LYcbHD2L7e5lDlJHjo8VQsyd4iIE,22067
|
|
108
109
|
taskflow/jobs/backends/impl_redis.py,sha256=ZgxVSlAOncTE089a6c1qjafSIzv8_ekLQKvq1G_n7IE,43925
|
|
109
110
|
taskflow/jobs/backends/impl_zookeeper.py,sha256=1Noi75aTH0NCx-qlsRExsx-QKBtY5j2PJb6RIi_Cm5o,37644
|
|
110
111
|
taskflow/listeners/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -148,14 +149,14 @@ taskflow/persistence/backends/sqlalchemy/alembic/versions/README,sha256=AwegmiWc
|
|
|
148
149
|
taskflow/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
149
150
|
taskflow/tests/fixtures.py,sha256=VfGlusX2q79_ktPME4cm1qt_gN9VNRAwyYy5sDBAX0Y,2004
|
|
150
151
|
taskflow/tests/test_examples.py,sha256=g2zhguLKE4Tex2e_vSmKMhsNXItnKWj89_VbnmgGejU,4925
|
|
151
|
-
taskflow/tests/utils.py,sha256=
|
|
152
|
+
taskflow/tests/utils.py,sha256=rT29L0V0rIB1SopQgSXRDMNYBfm1msrHowH1FH9D_V8,11323
|
|
152
153
|
taskflow/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
153
|
-
taskflow/tests/unit/test_arguments_passing.py,sha256=
|
|
154
|
+
taskflow/tests/unit/test_arguments_passing.py,sha256=jK9-Z7xBfPI4nHB7_Bh_rllBH-X55v6wplxdrjwRS3E,9381
|
|
154
155
|
taskflow/tests/unit/test_check_transition.py,sha256=DuxJAErCwheWPAdN_43LOOvZg00vmUoC-IzGgh642IM,6173
|
|
155
156
|
taskflow/tests/unit/test_conductors.py,sha256=-TEP_8ap69bPHhEabx2Dk8qNJuI_kBNCSuPcGcvZl2w,18996
|
|
156
157
|
taskflow/tests/unit/test_deciders.py,sha256=I5nDijs0Ybhw0HmCjY41N2L612U03-xH9Z7COWEaWy4,2733
|
|
157
158
|
taskflow/tests/unit/test_engine_helpers.py,sha256=EPYzq1r5d3cvIxseBeTLGPY3ZkJtV7C6Zi8il-cO94o,5399
|
|
158
|
-
taskflow/tests/unit/test_engines.py,sha256=
|
|
159
|
+
taskflow/tests/unit/test_engines.py,sha256=30MZKR3hALtZk2CbY85T2iBIQOOWN-ZigPR6yYFd748,64570
|
|
159
160
|
taskflow/tests/unit/test_exceptions.py,sha256=QDpa7X99Z5ET7s0dimV_YY4wit8Oqrcs5fZG7fTmX2Q,4362
|
|
160
161
|
taskflow/tests/unit/test_failure.py,sha256=xnmkeSuQlTCCsXL6PvgAkQrPN28ahESQL2sEftwyuKQ,17982
|
|
161
162
|
taskflow/tests/unit/test_flow_dependencies.py,sha256=PGPjxp-VeVp1E2Of6OAnEsyB0p4xTa-xd7NLnyjtl-A,18086
|
|
@@ -166,10 +167,10 @@ taskflow/tests/unit/test_mapfunctor_task.py,sha256=1FI8AJxRUPxT7Lu6h9Mhd62srAnKf
|
|
|
166
167
|
taskflow/tests/unit/test_notifier.py,sha256=Q4xGl9e_LZRiJVpGR2FbG2qSp9CqlP65aDsaIKxPqHI,7894
|
|
167
168
|
taskflow/tests/unit/test_progress.py,sha256=oeYFeWuHde1D2cAahhE1yN1NznNcXk7ajw0Z2yCyZkM,5259
|
|
168
169
|
taskflow/tests/unit/test_reducefunctor_task.py,sha256=vM4P5h80-Ex4uq2N_dNmTFL49Ks3iFmP5dMbZEk0YQ0,2106
|
|
169
|
-
taskflow/tests/unit/test_retries.py,sha256=
|
|
170
|
+
taskflow/tests/unit/test_retries.py,sha256=yRQF_TUtZ-d13sIzFNLjKZXg5DhuSj2xkhvgi8zGgCE,56542
|
|
170
171
|
taskflow/tests/unit/test_states.py,sha256=iYyHo9YzHBMjlYaqlzZJTcKjB53WCqf5Fw3OGoVKVME,3660
|
|
171
172
|
taskflow/tests/unit/test_storage.py,sha256=SlShgJ4hirdnggDkpB3GoosY--4B0PqMOVvMBG5D6g4,23520
|
|
172
|
-
taskflow/tests/unit/test_suspend.py,sha256=
|
|
173
|
+
taskflow/tests/unit/test_suspend.py,sha256=2d5y15Fw6NESJ4oEUAA7dosECGb2-CLkkgXULqwNtWw,10077
|
|
173
174
|
taskflow/tests/unit/test_task.py,sha256=PGXlOIhpYdCo8hTScleIHxQ5gGa-1b1MJhwaiB_fQss,15947
|
|
174
175
|
taskflow/tests/unit/test_types.py,sha256=uecv0lBqPAfAdTDXYMoM8Pi-P9JROR-aA_xkK0trJSQ,20225
|
|
175
176
|
taskflow/tests/unit/test_utils.py,sha256=m5Wct0kqv8CoX03sUBXcVczAuGcF-AQtbYPxUDq64oo,11035
|
|
@@ -181,12 +182,13 @@ taskflow/tests/unit/test_utils_threading_utils.py,sha256=JxWTMFQwjUXmsEBKl6c207V
|
|
|
181
182
|
taskflow/tests/unit/action_engine/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
182
183
|
taskflow/tests/unit/action_engine/test_builder.py,sha256=tuL4LoPpnvqnGBE9qAoVXVHLzARGwhhOu4q1cSnvZ68,12866
|
|
183
184
|
taskflow/tests/unit/action_engine/test_compile.py,sha256=dFaYxLiaCCoMY9TsrsQgN_wfwuu8rvWCW6hwABWlIbU,23759
|
|
184
|
-
taskflow/tests/unit/action_engine/test_creation.py,sha256=
|
|
185
|
-
taskflow/tests/unit/action_engine/test_process_executor.py,sha256=
|
|
185
|
+
taskflow/tests/unit/action_engine/test_creation.py,sha256=By8RzbkFI2uyQnU66n5Ul1-1XIJo7x7ybcx5Ln5iYWs,3681
|
|
186
|
+
taskflow/tests/unit/action_engine/test_process_executor.py,sha256=WDqA_zv1tsS2bPN7lCqwE6avgjAlO8D0_znnF9jhUAQ,3613
|
|
186
187
|
taskflow/tests/unit/action_engine/test_scoping.py,sha256=wIB9C3LMgfsqO6cdz_ZdhQcjrOFWAFn-9F6rEMjizgM,11327
|
|
187
188
|
taskflow/tests/unit/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
188
189
|
taskflow/tests/unit/jobs/base.py,sha256=wYv5ziDeVdYn2nhuMSfYTWU39Xxpv8lRKvJbGsB79lM,8447
|
|
189
190
|
taskflow/tests/unit/jobs/test_entrypoint.py,sha256=t2m5zeYhjb2pmPxBgGO_0AMWR0dabWxglDBODzLE0fY,2220
|
|
191
|
+
taskflow/tests/unit/jobs/test_etcd_job.py,sha256=oKnZ0nnmpmr9K04x3a4d6STvrE811uPRYdrJAbgdyv0,16512
|
|
190
192
|
taskflow/tests/unit/jobs/test_redis_job.py,sha256=wHwptqgrafZMk0aDZNvn2h3sJw8ckKY1g5J9I_dzWAM,7394
|
|
191
193
|
taskflow/tests/unit/jobs/test_zk_job.py,sha256=e5CdkqmiQY_jzNtcHsxKcsS9uY7k-D8CMGkqt1J_bqE,13789
|
|
192
194
|
taskflow/tests/unit/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -232,11 +234,11 @@ taskflow/utils/persistence_utils.py,sha256=GWceOcxdfsf-MtrdR74xmC2khClF8im6DpZmR
|
|
|
232
234
|
taskflow/utils/redis_utils.py,sha256=zJBvXmlNZUQ_gwGZAaNLySVtCtou3YayHAkGSCNKDUw,4345
|
|
233
235
|
taskflow/utils/schema_utils.py,sha256=Zf6eL0NK0_TVFD_Sc1yEZYswFz9K0tet1Dmj48F8uMA,1434
|
|
234
236
|
taskflow/utils/threading_utils.py,sha256=eiaNUK127DOBr_zfj3-j4Oi5a2dsD7VunVeTYN6NjPo,5849
|
|
235
|
-
taskflow-5.
|
|
236
|
-
taskflow-5.
|
|
237
|
-
taskflow-5.
|
|
238
|
-
taskflow-5.
|
|
239
|
-
taskflow-5.
|
|
240
|
-
taskflow-5.
|
|
241
|
-
taskflow-5.
|
|
242
|
-
taskflow-5.
|
|
237
|
+
taskflow-5.9.0.dist-info/AUTHORS,sha256=uKVGnRq9UrIKLl5MhXJ9QuqzKXynjWcZcuaW_j9Eh5g,4564
|
|
238
|
+
taskflow-5.9.0.dist-info/LICENSE,sha256=0t4vVm0tDgtQn7DqH6Nmn0kGSrHeIcV0U8qzdQojTo8,10143
|
|
239
|
+
taskflow-5.9.0.dist-info/METADATA,sha256=uVy8Ah1A3_80STYZT8cr-rNf9cKsyXq3LZ9iWOl1xpg,5146
|
|
240
|
+
taskflow-5.9.0.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
|
|
241
|
+
taskflow-5.9.0.dist-info/entry_points.txt,sha256=bIwgsxgCx_nrcv_gMhFDVffkg_r4NHX2O43iEXUKohU,1236
|
|
242
|
+
taskflow-5.9.0.dist-info/pbr.json,sha256=N8zRLBNt6MMlT0p1-mnnHKLxcTjAeaJkxLvgOp8vZwI,47
|
|
243
|
+
taskflow-5.9.0.dist-info/top_level.txt,sha256=PsdN41vwysesDlqHCSVVXH4mkTMdMiZFW_yHEAXiZE4,9
|
|
244
|
+
taskflow-5.9.0.dist-info/RECORD,,
|
|
@@ -10,6 +10,7 @@ worker-based = taskflow.engines.worker_based.engine:WorkerBasedActionEngine
|
|
|
10
10
|
workers = taskflow.engines.worker_based.engine:WorkerBasedActionEngine
|
|
11
11
|
|
|
12
12
|
[taskflow.jobboards]
|
|
13
|
+
etcd = taskflow.jobs.backends.impl_etcd:EtcdJobBoard
|
|
13
14
|
redis = taskflow.jobs.backends.impl_redis:RedisJobBoard
|
|
14
15
|
zookeeper = taskflow.jobs.backends.impl_zookeeper:ZookeeperJobBoard
|
|
15
16
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"git_version": "fc14510a", "is_release": true}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"git_version": "3ca2d4fd", "is_release": true}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|