taskflow 5.9.1__py3-none-any.whl → 5.11.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/tests/unit/jobs/test_etcd_job.py +2 -0
- taskflow/tests/unit/jobs/test_redis_job.py +2 -1
- taskflow/tests/unit/test_failure.py +2 -5
- taskflow/tests/utils.py +7 -6
- taskflow/types/failure.py +2 -6
- taskflow/utils/eventlet_utils.py +1 -1
- taskflow/version.py +3 -8
- {taskflow-5.9.1.dist-info → taskflow-5.11.0.dist-info}/METADATA +44 -37
- {taskflow-5.9.1.dist-info → taskflow-5.11.0.dist-info}/RECORD +15 -15
- {taskflow-5.9.1.dist-info → taskflow-5.11.0.dist-info}/WHEEL +1 -1
- {taskflow-5.9.1.dist-info → taskflow-5.11.0.dist-info}/entry_points.txt +0 -1
- taskflow-5.11.0.dist-info/pbr.json +1 -0
- taskflow-5.9.1.dist-info/pbr.json +0 -1
- {taskflow-5.9.1.dist-info → taskflow-5.11.0.dist-info}/AUTHORS +0 -0
- {taskflow-5.9.1.dist-info → taskflow-5.11.0.dist-info}/LICENSE +0 -0
- {taskflow-5.9.1.dist-info → taskflow-5.11.0.dist-info}/top_level.txt +0 -0
|
@@ -26,12 +26,14 @@ from taskflow.tests.unit.jobs import base
|
|
|
26
26
|
from taskflow.tests import utils as test_utils
|
|
27
27
|
|
|
28
28
|
ETCD_AVAILABLE = test_utils.etcd_available()
|
|
29
|
+
ETCD_PORT = test_utils.ETCD_PORT
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
class EtcdJobBoardMixin:
|
|
32
33
|
def create_board(self, conf=None, persistence=None):
|
|
33
34
|
self.path = f"test-{uuidutils.generate_uuid()}"
|
|
34
35
|
board_conf = {
|
|
36
|
+
"port": ETCD_PORT,
|
|
35
37
|
"path": self.path,
|
|
36
38
|
}
|
|
37
39
|
if conf:
|
|
@@ -32,6 +32,7 @@ from taskflow.utils import redis_utils as ru
|
|
|
32
32
|
|
|
33
33
|
REDIS_AVAILABLE = test_utils.redis_available(
|
|
34
34
|
impl_redis.RedisJobBoard.MIN_REDIS_VERSION)
|
|
35
|
+
REDIS_PORT = test_utils.REDIS_PORT
|
|
35
36
|
|
|
36
37
|
|
|
37
38
|
@testtools.skipIf(not REDIS_AVAILABLE, 'redis is not available')
|
|
@@ -41,7 +42,7 @@ class RedisJobboardTest(test.TestCase, base.BoardTestMixin):
|
|
|
41
42
|
|
|
42
43
|
def create_board(self, persistence=None):
|
|
43
44
|
namespace = uuidutils.generate_uuid()
|
|
44
|
-
client = ru.RedisClient()
|
|
45
|
+
client = ru.RedisClient(port=REDIS_PORT)
|
|
45
46
|
config = {
|
|
46
47
|
'namespace': ("taskflow-%s" % namespace).encode('latin-1'),
|
|
47
48
|
}
|
|
@@ -17,8 +17,6 @@
|
|
|
17
17
|
import pickle
|
|
18
18
|
import sys
|
|
19
19
|
|
|
20
|
-
from oslo_utils import encodeutils
|
|
21
|
-
|
|
22
20
|
from taskflow import exceptions
|
|
23
21
|
from taskflow import test
|
|
24
22
|
from taskflow.tests import utils as test_utils
|
|
@@ -334,8 +332,7 @@ class NonAsciiExceptionsTestCase(test.TestCase):
|
|
|
334
332
|
bad_string = chr(200)
|
|
335
333
|
excp = ValueError(bad_string)
|
|
336
334
|
fail = failure.Failure.from_exception(excp)
|
|
337
|
-
self.assertEqual(
|
|
338
|
-
fail.exception_str)
|
|
335
|
+
self.assertEqual(str(excp), fail.exception_str)
|
|
339
336
|
expected = u'Failure: ValueError: \xc8'
|
|
340
337
|
self.assertEqual(expected, str(fail))
|
|
341
338
|
|
|
@@ -350,7 +347,7 @@ class NonAsciiExceptionsTestCase(test.TestCase):
|
|
|
350
347
|
def test_wrapped_failure_non_ascii_unicode(self):
|
|
351
348
|
hi_cn = u'嗨'
|
|
352
349
|
fail = ValueError(hi_cn)
|
|
353
|
-
self.assertEqual(hi_cn,
|
|
350
|
+
self.assertEqual(hi_cn, str(fail))
|
|
354
351
|
fail = failure.Failure.from_exception(fail)
|
|
355
352
|
wrapped_fail = exceptions.WrappedFailure([fail])
|
|
356
353
|
expected_result = (u"WrappedFailure: "
|
taskflow/tests/utils.py
CHANGED
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
# under the License.
|
|
16
16
|
|
|
17
17
|
import contextlib
|
|
18
|
+
import os
|
|
18
19
|
import string
|
|
19
20
|
import threading
|
|
20
21
|
import time
|
|
@@ -32,12 +33,12 @@ from taskflow.types import failure
|
|
|
32
33
|
from taskflow.utils import kazoo_utils
|
|
33
34
|
from taskflow.utils import redis_utils
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
ETCD_PORT = int(os.getenv("TASKFLOW_TEST_ETCD_PORT", 2379))
|
|
37
|
+
REDIS_PORT = int(os.getenv("TASKFLOW_TEST_REDIS_SENTINEL_PORT", 6379))
|
|
38
|
+
ZK_PORT = int(os.getenv("TASKFLOW_TEST_ZOOKEEPER_PORT", 2181))
|
|
38
39
|
ZK_TEST_CONFIG = {
|
|
39
40
|
'timeout': 1.0,
|
|
40
|
-
'hosts': ["localhost
|
|
41
|
+
'hosts': ["localhost:%d" % ZK_PORT],
|
|
41
42
|
}
|
|
42
43
|
# If latches/events take longer than this to become empty/set, something is
|
|
43
44
|
# usually wrong and should be debugged instead of deadlocking...
|
|
@@ -78,7 +79,7 @@ def zookeeper_available(min_version, timeout=3):
|
|
|
78
79
|
|
|
79
80
|
|
|
80
81
|
def redis_available(min_version):
|
|
81
|
-
client = redis.Redis()
|
|
82
|
+
client = redis.Redis(port=REDIS_PORT)
|
|
82
83
|
try:
|
|
83
84
|
client.ping()
|
|
84
85
|
except Exception:
|
|
@@ -90,7 +91,7 @@ def redis_available(min_version):
|
|
|
90
91
|
|
|
91
92
|
|
|
92
93
|
def etcd_available():
|
|
93
|
-
client = etcd3gw.Etcd3Client()
|
|
94
|
+
client = etcd3gw.Etcd3Client(port=ETCD_PORT)
|
|
94
95
|
try:
|
|
95
96
|
client.get("/")
|
|
96
97
|
except Exception:
|
taskflow/types/failure.py
CHANGED
|
@@ -21,7 +21,6 @@ import os
|
|
|
21
21
|
import sys
|
|
22
22
|
import traceback
|
|
23
23
|
|
|
24
|
-
from oslo_utils import encodeutils
|
|
25
24
|
from oslo_utils import reflection
|
|
26
25
|
|
|
27
26
|
from taskflow import exceptions as exc
|
|
@@ -29,9 +28,6 @@ from taskflow.utils import iter_utils
|
|
|
29
28
|
from taskflow.utils import schema_utils as su
|
|
30
29
|
|
|
31
30
|
|
|
32
|
-
_exception_message = encodeutils.exception_to_unicode
|
|
33
|
-
|
|
34
|
-
|
|
35
31
|
def _copy_exc_info(exc_info):
|
|
36
32
|
if exc_info is None:
|
|
37
33
|
return None
|
|
@@ -57,7 +53,7 @@ def _are_equal_exc_info_tuples(ei1, ei2):
|
|
|
57
53
|
# because we want the types to be exactly the same, not just have
|
|
58
54
|
# one be inherited from the other.
|
|
59
55
|
if not all((type(ei1[1]) == type(ei2[1]), # noqa: E721
|
|
60
|
-
|
|
56
|
+
str(ei1[1]) == str(ei2[1]),
|
|
61
57
|
repr(ei1[1]) == repr(ei2[1]))):
|
|
62
58
|
return False
|
|
63
59
|
if ei1[2] == ei2[2]:
|
|
@@ -195,7 +191,7 @@ class Failure():
|
|
|
195
191
|
if not self._exc_type_names:
|
|
196
192
|
raise TypeError("Invalid exception type '%s' (%s)"
|
|
197
193
|
% (exc_info[0], type(exc_info[0])))
|
|
198
|
-
self._exception_str =
|
|
194
|
+
self._exception_str = str(self._exc_info[1])
|
|
199
195
|
self._traceback_str = ''.join(
|
|
200
196
|
traceback.format_tb(self._exc_info[2]))
|
|
201
197
|
self._causes = kwargs.pop('causes', None)
|
taskflow/utils/eventlet_utils.py
CHANGED
taskflow/version.py
CHANGED
|
@@ -14,19 +14,14 @@
|
|
|
14
14
|
# License for the specific language governing permissions and limitations
|
|
15
15
|
# under the License.
|
|
16
16
|
|
|
17
|
-
import
|
|
17
|
+
from pbr import version as pbr_version
|
|
18
18
|
|
|
19
19
|
TASK_VENDOR = "OpenStack Foundation"
|
|
20
20
|
TASK_PRODUCT = "OpenStack TaskFlow"
|
|
21
21
|
TASK_PACKAGE = None # OS distro package version suffix
|
|
22
22
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
_version_info = pbr_version.VersionInfo('taskflow')
|
|
26
|
-
version_string = _version_info.version_string
|
|
27
|
-
except ImportError:
|
|
28
|
-
_version_info = pkg_resources.get_distribution('taskflow')
|
|
29
|
-
version_string = lambda: _version_info.version
|
|
23
|
+
_version_info = pbr_version.VersionInfo('taskflow')
|
|
24
|
+
version_string = _version_info.version_string
|
|
30
25
|
|
|
31
26
|
|
|
32
27
|
def version_string_with_package():
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: taskflow
|
|
3
|
-
Version: 5.
|
|
3
|
+
Version: 5.11.0
|
|
4
4
|
Summary: Taskflow structured state management library.
|
|
5
5
|
Home-page: https://docs.openstack.org/taskflow/latest/
|
|
6
6
|
Author: OpenStack
|
|
7
7
|
Author-email: openstack-discuss@lists.openstack.org
|
|
8
|
-
License: UNKNOWN
|
|
9
8
|
Keywords: reliable,tasks,execution,parallel,dataflow,workflows,distributed
|
|
10
|
-
Platform: UNKNOWN
|
|
11
9
|
Classifier: Development Status :: 5 - Production/Stable
|
|
12
10
|
Classifier: Environment :: OpenStack
|
|
13
11
|
Classifier: Intended Audience :: Developers
|
|
@@ -16,52 +14,63 @@ Classifier: License :: OSI Approved :: Apache Software License
|
|
|
16
14
|
Classifier: Operating System :: POSIX :: Linux
|
|
17
15
|
Classifier: Programming Language :: Python
|
|
18
16
|
Classifier: Programming Language :: Python :: 3
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
20
17
|
Classifier: Programming Language :: Python :: 3.9
|
|
21
18
|
Classifier: Programming Language :: Python :: 3.10
|
|
22
19
|
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
23
21
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
24
22
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
25
23
|
Classifier: Topic :: Software Development :: Libraries
|
|
26
24
|
Classifier: Topic :: System :: Distributed Computing
|
|
27
|
-
Requires-Python: >=3.
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
Requires-Dist:
|
|
31
|
-
Requires-Dist: futurist
|
|
32
|
-
Requires-Dist:
|
|
33
|
-
Requires-Dist: networkx
|
|
34
|
-
Requires-Dist:
|
|
35
|
-
Requires-Dist:
|
|
36
|
-
Requires-Dist:
|
|
37
|
-
Requires-Dist:
|
|
38
|
-
Requires-Dist:
|
|
39
|
-
Requires-Dist: tenacity
|
|
25
|
+
Requires-Python: >=3.9
|
|
26
|
+
License-File: LICENSE
|
|
27
|
+
License-File: AUTHORS
|
|
28
|
+
Requires-Dist: pbr >=2.0.0
|
|
29
|
+
Requires-Dist: futurist >=1.2.0
|
|
30
|
+
Requires-Dist: fasteners >=0.17.3
|
|
31
|
+
Requires-Dist: networkx >=2.1.0
|
|
32
|
+
Requires-Dist: stevedore >=1.20.0
|
|
33
|
+
Requires-Dist: jsonschema >=3.2.0
|
|
34
|
+
Requires-Dist: automaton >=1.9.0
|
|
35
|
+
Requires-Dist: oslo.utils >=3.33.0
|
|
36
|
+
Requires-Dist: oslo.serialization >=2.18.0
|
|
37
|
+
Requires-Dist: tenacity >=6.0.0
|
|
38
|
+
Requires-Dist: cachetools >=2.0.0
|
|
39
|
+
Requires-Dist: pydot >=1.2.4
|
|
40
40
|
Provides-Extra: database
|
|
41
|
-
Requires-Dist:
|
|
42
|
-
Requires-Dist:
|
|
43
|
-
Requires-Dist: SQLAlchemy
|
|
44
|
-
Requires-Dist:
|
|
45
|
-
Requires-Dist: psycopg2
|
|
41
|
+
Requires-Dist: SQLAlchemy >=1.0.10 ; extra == 'database'
|
|
42
|
+
Requires-Dist: alembic >=0.8.10 ; extra == 'database'
|
|
43
|
+
Requires-Dist: SQLAlchemy-Utils >=0.30.11 ; extra == 'database'
|
|
44
|
+
Requires-Dist: PyMySQL >=0.7.6 ; extra == 'database'
|
|
45
|
+
Requires-Dist: psycopg2 >=2.8.0 ; extra == 'database'
|
|
46
46
|
Provides-Extra: etcd
|
|
47
|
-
Requires-Dist: etcd3gw
|
|
47
|
+
Requires-Dist: etcd3gw >=2.0.0 ; extra == 'etcd'
|
|
48
48
|
Provides-Extra: eventlet
|
|
49
|
-
Requires-Dist: eventlet
|
|
49
|
+
Requires-Dist: eventlet >=0.18.2 ; extra == 'eventlet'
|
|
50
50
|
Provides-Extra: redis
|
|
51
|
-
Requires-Dist: redis
|
|
51
|
+
Requires-Dist: redis >=4.0.0 ; extra == 'redis'
|
|
52
52
|
Provides-Extra: test
|
|
53
|
-
Requires-Dist:
|
|
54
|
-
Requires-Dist:
|
|
55
|
-
Requires-Dist:
|
|
56
|
-
Requires-Dist:
|
|
57
|
-
Requires-Dist:
|
|
58
|
-
Requires-Dist:
|
|
59
|
-
Requires-Dist:
|
|
53
|
+
Requires-Dist: kazoo >=2.6.0 ; extra == 'test'
|
|
54
|
+
Requires-Dist: redis >=4.0.0 ; extra == 'test'
|
|
55
|
+
Requires-Dist: etcd3gw >=2.0.0 ; extra == 'test'
|
|
56
|
+
Requires-Dist: kombu >=4.3.0 ; extra == 'test'
|
|
57
|
+
Requires-Dist: eventlet >=0.18.2 ; extra == 'test'
|
|
58
|
+
Requires-Dist: SQLAlchemy >=1.0.10 ; extra == 'test'
|
|
59
|
+
Requires-Dist: alembic >=0.8.10 ; extra == 'test'
|
|
60
|
+
Requires-Dist: SQLAlchemy-Utils >=0.30.11 ; extra == 'test'
|
|
61
|
+
Requires-Dist: PyMySQL >=0.7.6 ; extra == 'test'
|
|
62
|
+
Requires-Dist: psycopg2 >=2.8.0 ; extra == 'test'
|
|
63
|
+
Requires-Dist: zake >=0.1.6 ; extra == 'test'
|
|
64
|
+
Requires-Dist: pydotplus >=2.0.2 ; extra == 'test'
|
|
65
|
+
Requires-Dist: oslotest >=3.2.0 ; extra == 'test'
|
|
66
|
+
Requires-Dist: testtools >=2.2.0 ; extra == 'test'
|
|
67
|
+
Requires-Dist: testscenarios >=0.4 ; extra == 'test'
|
|
68
|
+
Requires-Dist: stestr >=2.0.0 ; extra == 'test'
|
|
69
|
+
Requires-Dist: pifpaf >=0.10.0 ; extra == 'test'
|
|
60
70
|
Provides-Extra: workers
|
|
61
|
-
Requires-Dist: kombu
|
|
71
|
+
Requires-Dist: kombu >=4.3.0 ; extra == 'workers'
|
|
62
72
|
Provides-Extra: zookeeper
|
|
63
|
-
Requires-Dist: kazoo
|
|
64
|
-
Requires-Dist: zake (>=0.1.6) ; extra == 'zookeeper'
|
|
73
|
+
Requires-Dist: kazoo >=2.6.0 ; extra == 'zookeeper'
|
|
65
74
|
|
|
66
75
|
========================
|
|
67
76
|
Team and repository tags
|
|
@@ -137,5 +146,3 @@ We also have sphinx documentation in ``docs/source``.
|
|
|
137
146
|
.. _eventlet: http://eventlet.net/
|
|
138
147
|
.. _tox: https://tox.testrun.org/
|
|
139
148
|
|
|
140
|
-
|
|
141
|
-
|
|
@@ -10,7 +10,7 @@ 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
12
|
taskflow/test.py,sha256=T6DfnwU7NcSRLfAYR3QgmGXhRVkYfeH-6JEp2jffQh8,9341
|
|
13
|
-
taskflow/version.py,sha256=
|
|
13
|
+
taskflow/version.py,sha256=UU8J6gwFErEHh0U8vhI2hxPlTN9k47Fvul2I-4bPp6A,1091
|
|
14
14
|
taskflow/conductors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
taskflow/conductors/base.py,sha256=k7E_zu9CIORhODWzwmxh7w8fSNhG6dJaYEfLwIxhxXE,7332
|
|
16
16
|
taskflow/conductors/backends/__init__.py,sha256=UJS_4cDCt9PT1jrTcmB6cNk4yJpRm1LEoq4rigvaWQ0,1634
|
|
@@ -149,7 +149,7 @@ taskflow/persistence/backends/sqlalchemy/alembic/versions/README,sha256=AwegmiWc
|
|
|
149
149
|
taskflow/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
150
150
|
taskflow/tests/fixtures.py,sha256=VfGlusX2q79_ktPME4cm1qt_gN9VNRAwyYy5sDBAX0Y,2004
|
|
151
151
|
taskflow/tests/test_examples.py,sha256=g2zhguLKE4Tex2e_vSmKMhsNXItnKWj89_VbnmgGejU,4925
|
|
152
|
-
taskflow/tests/utils.py,sha256=
|
|
152
|
+
taskflow/tests/utils.py,sha256=siTwfev-swP-TsPrxgcxqURZzZcVpqJaCZqm674qgso,12123
|
|
153
153
|
taskflow/tests/unit/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
154
154
|
taskflow/tests/unit/test_arguments_passing.py,sha256=jK9-Z7xBfPI4nHB7_Bh_rllBH-X55v6wplxdrjwRS3E,9381
|
|
155
155
|
taskflow/tests/unit/test_check_transition.py,sha256=DuxJAErCwheWPAdN_43LOOvZg00vmUoC-IzGgh642IM,6173
|
|
@@ -158,7 +158,7 @@ taskflow/tests/unit/test_deciders.py,sha256=I5nDijs0Ybhw0HmCjY41N2L612U03-xH9Z7C
|
|
|
158
158
|
taskflow/tests/unit/test_engine_helpers.py,sha256=EPYzq1r5d3cvIxseBeTLGPY3ZkJtV7C6Zi8il-cO94o,5399
|
|
159
159
|
taskflow/tests/unit/test_engines.py,sha256=30MZKR3hALtZk2CbY85T2iBIQOOWN-ZigPR6yYFd748,64570
|
|
160
160
|
taskflow/tests/unit/test_exceptions.py,sha256=QDpa7X99Z5ET7s0dimV_YY4wit8Oqrcs5fZG7fTmX2Q,4362
|
|
161
|
-
taskflow/tests/unit/test_failure.py,sha256=
|
|
161
|
+
taskflow/tests/unit/test_failure.py,sha256=_2vT18lAeTkMRNepX7DdMPH1W7upJl9kfc7G-37EB3w,17863
|
|
162
162
|
taskflow/tests/unit/test_flow_dependencies.py,sha256=PGPjxp-VeVp1E2Of6OAnEsyB0p4xTa-xd7NLnyjtl-A,18086
|
|
163
163
|
taskflow/tests/unit/test_formatters.py,sha256=vSwbBbPmuET18Sc-3p1kCIHdb9g2F4RHxANXEJHzWQA,3921
|
|
164
164
|
taskflow/tests/unit/test_functor_task.py,sha256=gAjJE2urR61-pFd98mtmAkSKYX2vPwp17ied3LjhdNQ,2528
|
|
@@ -188,8 +188,8 @@ taskflow/tests/unit/action_engine/test_scoping.py,sha256=wIB9C3LMgfsqO6cdz_ZdhQc
|
|
|
188
188
|
taskflow/tests/unit/jobs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
189
189
|
taskflow/tests/unit/jobs/base.py,sha256=wYv5ziDeVdYn2nhuMSfYTWU39Xxpv8lRKvJbGsB79lM,8447
|
|
190
190
|
taskflow/tests/unit/jobs/test_entrypoint.py,sha256=t2m5zeYhjb2pmPxBgGO_0AMWR0dabWxglDBODzLE0fY,2220
|
|
191
|
-
taskflow/tests/unit/jobs/test_etcd_job.py,sha256=
|
|
192
|
-
taskflow/tests/unit/jobs/test_redis_job.py,sha256=
|
|
191
|
+
taskflow/tests/unit/jobs/test_etcd_job.py,sha256=EhcdScOz87evJln_srG091w0L3gJWAxApw6n3Ypb2fo,16576
|
|
192
|
+
taskflow/tests/unit/jobs/test_redis_job.py,sha256=_OqqMe4k9EAtjP6Y9jMBM6dUE3sI_cJii3uXAsafVTE,7444
|
|
193
193
|
taskflow/tests/unit/jobs/test_zk_job.py,sha256=e5CdkqmiQY_jzNtcHsxKcsS9uY7k-D8CMGkqt1J_bqE,13789
|
|
194
194
|
taskflow/tests/unit/patterns/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
195
195
|
taskflow/tests/unit/patterns/test_graph_flow.py,sha256=g5x6RdEgD6Sws3C5zmgz3kFpbJLEoi6i42RSEk5Vlso,12452
|
|
@@ -215,7 +215,7 @@ taskflow/tests/unit/worker_based/test_types.py,sha256=EXKG4ihOrQqKCzo7NQwRlk1peX
|
|
|
215
215
|
taskflow/tests/unit/worker_based/test_worker.py,sha256=1jmGrtL6atPu88zBRTMOe1pUlUFAZzuXwM7sQxIX2lY,7109
|
|
216
216
|
taskflow/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
217
217
|
taskflow/types/entity.py,sha256=vIPHHNnA7givgPh-vOIzSEP3Hu9baRwl1fQXtAJ9y-g,1587
|
|
218
|
-
taskflow/types/failure.py,sha256=
|
|
218
|
+
taskflow/types/failure.py,sha256=JVrk2Z4JbDohwV7MGa5jxwkXXx8BcHbocLizXlH2kcM,21053
|
|
219
219
|
taskflow/types/graph.py,sha256=T0JbyYfHVtNlzQW_ATuQngc7e-WpVS7NMnOFpJY6xSc,10504
|
|
220
220
|
taskflow/types/latch.py,sha256=ZYE7qQeyTaKK9ChIVJx7Y0U0iBBjsuVU_-kpwIWd_-w,2193
|
|
221
221
|
taskflow/types/notifier.py,sha256=2N_GqBcseYPD9DSsBKRCgvuuSvCMZYj7MN-oPcYDmc4,14071
|
|
@@ -225,7 +225,7 @@ taskflow/types/tree.py,sha256=j-5i3haMJ259ATNI4EccQjhg60_0mXHStIvOgKFM-LE,15820
|
|
|
225
225
|
taskflow/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
226
226
|
taskflow/utils/async_utils.py,sha256=aoRp7cY8cm5jSsOy3RyV5Fjr27U2J_V6ldMYVWTPJJ4,855
|
|
227
227
|
taskflow/utils/banner.py,sha256=_44ZM33gye8orjUN4B_VdQe8ksEPAK3WI6pfrMMiEiE,3635
|
|
228
|
-
taskflow/utils/eventlet_utils.py,sha256
|
|
228
|
+
taskflow/utils/eventlet_utils.py,sha256=cxXDIkGb2qTsAZ4lu9XbKZj9GNQ1FBkSCYeHXhYk0ak,1151
|
|
229
229
|
taskflow/utils/iter_utils.py,sha256=RAMpEe7pYsXXoObke0Jh2ePpfdX7cTDxhTgHua2v37M,4674
|
|
230
230
|
taskflow/utils/kazoo_utils.py,sha256=fCHMC-a5ayJqzBVjdTiy1WqBE6hSmRwxx7GkF-jd6Nw,9915
|
|
231
231
|
taskflow/utils/kombu_utils.py,sha256=tgAN6c7kSggbT0rMn3rVzkKm9e1CmW90Jpb5279G2zg,2528
|
|
@@ -234,11 +234,11 @@ taskflow/utils/persistence_utils.py,sha256=GWceOcxdfsf-MtrdR74xmC2khClF8im6DpZmR
|
|
|
234
234
|
taskflow/utils/redis_utils.py,sha256=zJBvXmlNZUQ_gwGZAaNLySVtCtou3YayHAkGSCNKDUw,4345
|
|
235
235
|
taskflow/utils/schema_utils.py,sha256=Zf6eL0NK0_TVFD_Sc1yEZYswFz9K0tet1Dmj48F8uMA,1434
|
|
236
236
|
taskflow/utils/threading_utils.py,sha256=eiaNUK127DOBr_zfj3-j4Oi5a2dsD7VunVeTYN6NjPo,5849
|
|
237
|
-
taskflow-5.
|
|
238
|
-
taskflow-5.
|
|
239
|
-
taskflow-5.
|
|
240
|
-
taskflow-5.
|
|
241
|
-
taskflow-5.
|
|
242
|
-
taskflow-5.
|
|
243
|
-
taskflow-5.
|
|
244
|
-
taskflow-5.
|
|
237
|
+
taskflow-5.11.0.dist-info/AUTHORS,sha256=uKVGnRq9UrIKLl5MhXJ9QuqzKXynjWcZcuaW_j9Eh5g,4564
|
|
238
|
+
taskflow-5.11.0.dist-info/LICENSE,sha256=0t4vVm0tDgtQn7DqH6Nmn0kGSrHeIcV0U8qzdQojTo8,10143
|
|
239
|
+
taskflow-5.11.0.dist-info/METADATA,sha256=oUqfps2VmBXLf_IRL43orm4JNQ74ZJ66EKP7u0kPBM0,5540
|
|
240
|
+
taskflow-5.11.0.dist-info/WHEEL,sha256=P9jw-gEje8ByB7_hXoICnHtVCrEwMQh-630tKvQWehc,91
|
|
241
|
+
taskflow-5.11.0.dist-info/entry_points.txt,sha256=-cLcvncQdUIhZ0pSd10UBTItZsJxlgu1uQIhkcpzh4Y,1235
|
|
242
|
+
taskflow-5.11.0.dist-info/pbr.json,sha256=0fWhB8bsCBvlzkItWXovHRIzyqM_1IBqFWXsWINm1SE,47
|
|
243
|
+
taskflow-5.11.0.dist-info/top_level.txt,sha256=PsdN41vwysesDlqHCSVVXH4mkTMdMiZFW_yHEAXiZE4,9
|
|
244
|
+
taskflow-5.11.0.dist-info/RECORD,,
|
|
@@ -22,4 +22,3 @@ mysql = taskflow.persistence.backends.impl_sqlalchemy:SQLAlchemyBackend
|
|
|
22
22
|
postgresql = taskflow.persistence.backends.impl_sqlalchemy:SQLAlchemyBackend
|
|
23
23
|
sqlite = taskflow.persistence.backends.impl_sqlalchemy:SQLAlchemyBackend
|
|
24
24
|
zookeeper = taskflow.persistence.backends.impl_zookeeper:ZkBackend
|
|
25
|
-
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"git_version": "3d0a7efb", "is_release": true}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"git_version": "a8b48d6e", "is_release": true}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|