scalable-pypeline 2.1.11__py2.py3-none-any.whl → 2.1.13__py2.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.
- pypeline/__init__.py +1 -1
- pypeline/pipeline_config_schema.py +4 -4
- pypeline/pipeline_settings_schema.py +4 -1
- pypeline/pipelines/composition/pypeline_composition.py +6 -0
- pypeline/pipelines/middleware/pypeline_middleware.py +5 -0
- {scalable_pypeline-2.1.11.dist-info → scalable_pypeline-2.1.13.dist-info}/METADATA +1 -1
- {scalable_pypeline-2.1.11.dist-info → scalable_pypeline-2.1.13.dist-info}/RECORD +11 -11
- {scalable_pypeline-2.1.11.dist-info → scalable_pypeline-2.1.13.dist-info}/LICENSE +0 -0
- {scalable_pypeline-2.1.11.dist-info → scalable_pypeline-2.1.13.dist-info}/WHEEL +0 -0
- {scalable_pypeline-2.1.11.dist-info → scalable_pypeline-2.1.13.dist-info}/entry_points.txt +0 -0
- {scalable_pypeline-2.1.11.dist-info → scalable_pypeline-2.1.13.dist-info}/top_level.txt +0 -0
pypeline/__init__.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "2.1.
|
1
|
+
__version__ = "2.1.13"
|
@@ -120,8 +120,8 @@ class TaskDefinitionsSchemaV1(ExcludeUnknownSchema):
|
|
120
120
|
serverType = fields.String(
|
121
121
|
required=False,
|
122
122
|
validate=OneOf(
|
123
|
-
["xs", "s", "m", "l", "xl", "xxl", "xxxl"],
|
124
|
-
error="Invalid serverType. Available options: 'xs', 's', 'm', 'l', 'xl', 'xxl', 'xxxl'.",
|
123
|
+
["xs", "s", "m", "l", "xl", "xxl", "xxxl", "cpu-xl"],
|
124
|
+
error="Invalid serverType. Available options: 'xs', 's', 'm', 'l', 'xl', 'xxl', 'xxxl', 'cpu-xl'.",
|
125
125
|
),
|
126
126
|
)
|
127
127
|
|
@@ -152,8 +152,8 @@ class TaskDefinitionsSchemaV2(ExcludeUnknownSchema):
|
|
152
152
|
serverType = fields.String(
|
153
153
|
required=False,
|
154
154
|
validate=OneOf(
|
155
|
-
["xs", "s", "m", "l", "xl", "xxl", "xxxl"],
|
156
|
-
error="Invalid serverType. Available options: 'xs', 's', 'm', 'l', 'xl', 'xxl', 'xxxl'.",
|
155
|
+
["xs", "s", "m", "l", "xl", "xxl", "xxxl", "cpu-xl"],
|
156
|
+
error="Invalid serverType. Available options: 'xs', 's', 'm', 'l', 'xl', 'xxl', 'xxxl', 'cpu-xl'.",
|
157
157
|
),
|
158
158
|
)
|
159
159
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from marshmallow import Schema, fields, validate, ValidationError, validates_schema
|
1
|
+
from marshmallow import Schema, fields, validate, ValidationError, validates_schema, INCLUDE
|
2
2
|
|
3
3
|
|
4
4
|
class MissingSettingsException(Exception):
|
@@ -178,6 +178,9 @@ def create_pipeline_settings_schema(pipeline_settings_schema_data):
|
|
178
178
|
else:
|
179
179
|
schema_fields[key] = field_type(**field_args)
|
180
180
|
|
181
|
+
schema_fields["Meta"] = type(
|
182
|
+
"Meta", (), {"unknown": INCLUDE}
|
183
|
+
)
|
181
184
|
# Dynamically create a schema class with the generated fields
|
182
185
|
DynamicPipelineSettingsSchema = type(
|
183
186
|
"DynamicPipelineSettingsSchema", (Schema,), schema_fields
|
@@ -86,6 +86,10 @@ class Pypeline:
|
|
86
86
|
)
|
87
87
|
message = lazy_actor.message()
|
88
88
|
message.options["pipeline"] = pipeline
|
89
|
+
if pipeline_config["metadata"].get("maxRetry", None) is not None:
|
90
|
+
message.options["max_retries"] = pipeline_config["metadata"][
|
91
|
+
"maxRetry"
|
92
|
+
]
|
89
93
|
message.options["task_replacements"] = copy(
|
90
94
|
scenario["taskReplacements"]
|
91
95
|
)
|
@@ -121,6 +125,8 @@ class Pypeline:
|
|
121
125
|
)
|
122
126
|
message = lazy_actor.message()
|
123
127
|
message.options["pipeline"] = pipeline
|
128
|
+
if pipeline_config["metadata"].get("maxRetry", None) is not None:
|
129
|
+
message.options["max_retries"] = pipeline_config["metadata"]["maxRetry"]
|
124
130
|
message.options["task_replacements"] = first_scenario_task_replacements
|
125
131
|
message.options["execution_id"] = base_case_execution_id
|
126
132
|
message.options["task_name"] = first_task
|
@@ -24,6 +24,7 @@ class PypelineMiddleware(Middleware):
|
|
24
24
|
return
|
25
25
|
|
26
26
|
pipeline = message.options["pipeline"]
|
27
|
+
max_retries = message.options.get("max_retries", None)
|
27
28
|
pipeline_config = pipeline["config"]
|
28
29
|
task_replacements = message.options["task_replacements"]
|
29
30
|
execution_id = message.options["execution_id"]
|
@@ -138,6 +139,8 @@ class PypelineMiddleware(Middleware):
|
|
138
139
|
)
|
139
140
|
scenario_message = lazy_actor.message()
|
140
141
|
scenario_message.options["pipeline"] = pipeline
|
142
|
+
if max_retries is not None:
|
143
|
+
scenario_message.options["max_retries"] = max_retries
|
141
144
|
scenario_message.options["task_replacements"] = (
|
142
145
|
task_replacements
|
143
146
|
)
|
@@ -182,6 +185,8 @@ class PypelineMiddleware(Middleware):
|
|
182
185
|
|
183
186
|
child_message = lazy_actor.message()
|
184
187
|
child_message.options["pipeline"] = pipeline
|
188
|
+
if max_retries is not None:
|
189
|
+
child_message.options["max_retries"] = max_retries
|
185
190
|
child_message.options["task_replacements"] = task_replacements
|
186
191
|
child_message.options["execution_id"] = execution_id
|
187
192
|
child_message.options["task_name"] = child
|
@@ -1,10 +1,10 @@
|
|
1
|
-
pypeline/__init__.py,sha256=
|
1
|
+
pypeline/__init__.py,sha256=59WYUQbpJnalweC5r75GQeXXOChhHcCgbKm0CW6XD1M,23
|
2
2
|
pypeline/barrier.py,sha256=oO964l9qOCOibweOHyNivmAvufdXOke9nz2tdgclouo,1172
|
3
3
|
pypeline/constants.py,sha256=EGSuLq4KhZ4bxrbtnUgKclELRyya5ipvv0WeybCzNAs,3049
|
4
4
|
pypeline/dramatiq.py,sha256=nnNxm2akL6hjqfjwQglK76LspZrdrL_2E_rDN5ThwZ8,13432
|
5
5
|
pypeline/extensions.py,sha256=BzOTnXhNxap3N7uIUUh_hO6dDwx08Vc_RJDE93_K0Lo,610
|
6
|
-
pypeline/pipeline_config_schema.py,sha256=
|
7
|
-
pypeline/pipeline_settings_schema.py,sha256=
|
6
|
+
pypeline/pipeline_config_schema.py,sha256=kprvmfPfmNVP5MOqtWzDm4ON5NJWIKQC8GWbIy5EIuk,11183
|
7
|
+
pypeline/pipeline_settings_schema.py,sha256=VgbMvTxQSqnvLX593RNoD9gTsZnJwzCc4wGpczV5CEI,20403
|
8
8
|
pypeline/pypeline_yaml.py,sha256=Og08sUKwOjq7JYPnkg-NIcGbHravYCkC5Arz22rZEtA,16981
|
9
9
|
pypeline/schedule_config_schema.py,sha256=vtZV-5wpGcAiYcXxdBPRkrjsbR6x_9E-1PC2elrKKbE,3611
|
10
10
|
pypeline/flask/__init__.py,sha256=AdljRh0lMiS8ExgDmgzObwVs8jW7hqQuf83Ml8kn8GQ,491
|
@@ -17,11 +17,11 @@ pypeline/pipelines/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
|
|
17
17
|
pypeline/pipelines/factory.py,sha256=p2b1XhhMYt_f5h2FAr6Zze1FfWz8SCyO9DEIS_EDDKE,3258
|
18
18
|
pypeline/pipelines/composition/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
19
19
|
pypeline/pipelines/composition/parallel_pipeline_composition.py,sha256=pTw9Xb9h4JnV4siFc3JStm5lB-i9djUADo3Kh5K3s7g,12976
|
20
|
-
pypeline/pipelines/composition/pypeline_composition.py,sha256=
|
20
|
+
pypeline/pipelines/composition/pypeline_composition.py,sha256=lY1RO7luLqDBLfoX99YbBatx1Qov1cxGoS5lRAjB_DQ,8534
|
21
21
|
pypeline/pipelines/middleware/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
22
22
|
pypeline/pipelines/middleware/get_active_worker_id_middleware.py,sha256=X4ZfRk3L8MD00DTsGHth7oOdy-W7LQV96T8vu5UC42A,755
|
23
23
|
pypeline/pipelines/middleware/parallel_pipeline_middleware.py,sha256=kTp6niYoe2nXIiN6EGRfdpxrJyioo0GPxDkfefbGlEk,2821
|
24
|
-
pypeline/pipelines/middleware/pypeline_middleware.py,sha256=
|
24
|
+
pypeline/pipelines/middleware/pypeline_middleware.py,sha256=ciXZD2rLMCLGI9wP5zB8g_5_zazt08LetQXuTJkedms,9147
|
25
25
|
pypeline/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
26
26
|
pypeline/utils/config_utils.py,sha256=rAIATyoW7kGETZ_Z2DqiXtGd7bJp5uPfcLtfNPOYsNs,2167
|
27
27
|
pypeline/utils/dramatiq_utils.py,sha256=DUdgVywm1182A4i69XzH9EIh1EJ9zAHmJLtOaVSW7pw,3844
|
@@ -29,9 +29,9 @@ pypeline/utils/module_utils.py,sha256=-yEJIukDCoXnmlZVXB6Dww25tH6GdPE5SoFqv6pfdV
|
|
29
29
|
pypeline/utils/pipeline_utils.py,sha256=kGP1QwCJikGC5QNRtzRXCDVewyRMpWIqERTNnxGLlSY,4795
|
30
30
|
pypeline/utils/schema_utils.py,sha256=Fgl0y9Cuo_TZeEx_S3gaSVnLjn6467LTkjb2ek7Ms98,851
|
31
31
|
tests/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
32
|
-
scalable_pypeline-2.1.
|
33
|
-
scalable_pypeline-2.1.
|
34
|
-
scalable_pypeline-2.1.
|
35
|
-
scalable_pypeline-2.1.
|
36
|
-
scalable_pypeline-2.1.
|
37
|
-
scalable_pypeline-2.1.
|
32
|
+
scalable_pypeline-2.1.13.dist-info/LICENSE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174
|
33
|
+
scalable_pypeline-2.1.13.dist-info/METADATA,sha256=qFVrWAUfDcyDVSxbUmeuc9SLjpyCRKUNr5twJRuuUXM,5927
|
34
|
+
scalable_pypeline-2.1.13.dist-info/WHEEL,sha256=bb2Ot9scclHKMOLDEHY6B2sicWOgugjFKaJsT7vwMQo,110
|
35
|
+
scalable_pypeline-2.1.13.dist-info/entry_points.txt,sha256=uWs10ODfHSBKo2Cx_QaUjPHQTpZ3e77j9VlAdRRmMyg,119
|
36
|
+
scalable_pypeline-2.1.13.dist-info/top_level.txt,sha256=C7dpkEOc_-nnsAQb28BfQknjD6XHRyS9ZrvVeoIbV7s,15
|
37
|
+
scalable_pypeline-2.1.13.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|