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 CHANGED
@@ -1 +1 @@
1
- __version__ = "2.1.11"
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,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scalable-pypeline
3
- Version: 2.1.11
3
+ Version: 2.1.13
4
4
  Summary: PypeLine - Python pipelines for the Real World
5
5
  Home-page: https://gitlab.com/bravos2/pypeline
6
6
  Author: Bravos Power Corporation
@@ -1,10 +1,10 @@
1
- pypeline/__init__.py,sha256=zcHMV6HbszEZFZ1gDEpbHxTYg8dJ5fCYdeDd-O6IPP4,23
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=ApgDqgINFDcmErVP7jJUJgkaVfwNRanj4q12ehWVJUU,11143
7
- pypeline/pipeline_settings_schema.py,sha256=IBBtWqxrRA0MrUwNZEnGhYJbmag-sus1Ln6VCrUvuyY,20313
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=G6hptAN3LaVGm6DE7yhjGs-LDbw7m94-z08pLZCqNXA,8154
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=wdqcnya9SrcBs2VOfBOIXY03VC0uadMcS5SD4hGOk8U,8843
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.11.dist-info/LICENSE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174
33
- scalable_pypeline-2.1.11.dist-info/METADATA,sha256=HdDTGiEP9ELgzK4H1HrIWem1ztzABQ5SmIv-Y3NPpm8,5927
34
- scalable_pypeline-2.1.11.dist-info/WHEEL,sha256=bb2Ot9scclHKMOLDEHY6B2sicWOgugjFKaJsT7vwMQo,110
35
- scalable_pypeline-2.1.11.dist-info/entry_points.txt,sha256=uWs10ODfHSBKo2Cx_QaUjPHQTpZ3e77j9VlAdRRmMyg,119
36
- scalable_pypeline-2.1.11.dist-info/top_level.txt,sha256=C7dpkEOc_-nnsAQb28BfQknjD6XHRyS9ZrvVeoIbV7s,15
37
- scalable_pypeline-2.1.11.dist-info/RECORD,,
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,,