scalable-pypeline 2.1.24__tar.gz → 2.1.26__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.

Potentially problematic release.


This version of scalable-pypeline might be problematic. Click here for more details.

Files changed (49) hide show
  1. {scalable-pypeline-2.1.24/scalable_pypeline.egg-info → scalable-pypeline-2.1.26}/PKG-INFO +1 -1
  2. scalable-pypeline-2.1.26/pypeline/__init__.py +1 -0
  3. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/barrier.py +1 -1
  4. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pipelines/composition/parallel_pipeline_composition.py +29 -2
  5. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26/scalable_pypeline.egg-info}/PKG-INFO +1 -1
  6. scalable-pypeline-2.1.24/pypeline/__init__.py +0 -1
  7. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/LICENSE +0 -0
  8. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/MANIFEST.in +0 -0
  9. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/README.md +0 -0
  10. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/constants.py +0 -0
  11. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/dramatiq.py +0 -0
  12. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/executable_job_config_schema.py +0 -0
  13. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/extensions.py +0 -0
  14. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/flask/__init__.py +0 -0
  15. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/flask/api/__init__.py +0 -0
  16. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/flask/api/pipelines.py +0 -0
  17. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/flask/api/schedules.py +0 -0
  18. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/flask/decorators.py +0 -0
  19. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/flask/flask_pypeline.py +0 -0
  20. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pipeline_config_schema.py +0 -0
  21. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pipeline_settings_schema.py +0 -0
  22. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pipelines/__init__.py +0 -0
  23. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pipelines/composition/__init__.py +0 -0
  24. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pipelines/composition/pypeline_composition.py +0 -0
  25. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pipelines/factory.py +0 -0
  26. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pipelines/middleware/__init__.py +0 -0
  27. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pipelines/middleware/get_active_worker_id_middleware.py +0 -0
  28. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pipelines/middleware/graceful_shutdown_middleware.py +0 -0
  29. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pipelines/middleware/parallel_pipeline_middleware.py +0 -0
  30. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pipelines/middleware/pypeline_middleware.py +0 -0
  31. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/pypeline_yaml.py +0 -0
  32. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/schedule_config_schema.py +0 -0
  33. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/utils/__init__.py +0 -0
  34. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/utils/config_utils.py +0 -0
  35. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/utils/dramatiq_utils.py +0 -0
  36. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/utils/executable_job_util.py +0 -0
  37. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/utils/graceful_shutdown_util.py +0 -0
  38. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/utils/module_utils.py +0 -0
  39. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/utils/pipeline_utils.py +0 -0
  40. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/pypeline/utils/schema_utils.py +0 -0
  41. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/requirements.txt +0 -0
  42. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/scalable_pypeline.egg-info/SOURCES.txt +0 -0
  43. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/scalable_pypeline.egg-info/dependency_links.txt +0 -0
  44. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/scalable_pypeline.egg-info/entry_points.txt +0 -0
  45. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/scalable_pypeline.egg-info/requires.txt +0 -0
  46. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/scalable_pypeline.egg-info/top_level.txt +0 -0
  47. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/setup.cfg +0 -0
  48. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/setup.py +0 -0
  49. {scalable-pypeline-2.1.24 → scalable-pypeline-2.1.26}/tests/fixtures/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scalable-pypeline
3
- Version: 2.1.24
3
+ Version: 2.1.26
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
@@ -0,0 +1 @@
1
+ __version__ = "2.1.26"
@@ -2,7 +2,7 @@ import time
2
2
  import redis
3
3
  from redis.sentinel import Sentinel
4
4
  from urllib.parse import urlparse
5
- from constants import (
5
+ from pypeline.constants import (
6
6
  REDIS_SENTINEL_MASTER_NAME,
7
7
  DEFAULT_REDIS_SOCKET_CONNECT_TIMEOUT,
8
8
  DEFAULT_REDIS_SOCKET_TIMEOUT,
@@ -5,12 +5,22 @@ import json
5
5
  import time
6
6
  import typing
7
7
  from uuid import uuid4
8
+ from urllib.parse import urlparse
8
9
 
9
10
  from dramatiq.broker import get_broker
10
11
  from dramatiq.results import ResultMissing
11
12
  from db_medley.redis_conf import RedisConnector
12
13
  from redis.exceptions import RedisError
13
-
14
+ from redis.sentinel import Sentinel
15
+ from pypeline.constants import (
16
+ REDIS_URL,
17
+ REDIS_SENTINEL_MASTER_NAME,
18
+ DEFAULT_REDIS_SOCKET_CONNECT_TIMEOUT,
19
+ DEFAULT_REDIS_SOCKET_TIMEOUT,
20
+ DEFAULT_REDIS_RETRY_ON_TIMEOUT,
21
+ DEFAULT_REDIS_SOCKET_KEEPALIVE,
22
+ DEFAULT_REDIS_HEALTH_CHECK_INTERVAL,
23
+ )
14
24
  from pypeline.barrier import LockingParallelBarrier
15
25
  from pypeline.constants import DEFAULT_RESULT_TTL
16
26
  from pypeline.dramatiq import REDIS_URL
@@ -240,9 +250,26 @@ class PipelineResult:
240
250
  self.pipeline: parallel_pipeline = None
241
251
  self.execution_id = execution_id
242
252
  self.redis_key = f"{execution_id}-results-key"
243
- self.redis_conn = RedisConnector().get_connection()
244
253
  self.result_ttl = result_ttl
245
254
 
255
+ if REDIS_SENTINEL_MASTER_NAME is not None:
256
+ parsed_redis_url = urlparse(REDIS_URL)
257
+ redis_sentinel = Sentinel(
258
+ sentinels=[(parsed_redis_url.hostname, parsed_redis_url.port)],
259
+ )
260
+ self.redis_conn = redis_sentinel.master_for(
261
+ REDIS_SENTINEL_MASTER_NAME,
262
+ db=int(parsed_redis_url.path[1]) if parsed_redis_url.path else 0,
263
+ password=parsed_redis_url.password,
264
+ socket_connect_timeout=DEFAULT_REDIS_SOCKET_CONNECT_TIMEOUT,
265
+ socket_timeout=DEFAULT_REDIS_SOCKET_TIMEOUT,
266
+ retry_on_timeout=DEFAULT_REDIS_RETRY_ON_TIMEOUT,
267
+ socket_keepalive=DEFAULT_REDIS_SOCKET_KEEPALIVE,
268
+ health_check_interval=DEFAULT_REDIS_HEALTH_CHECK_INTERVAL,
269
+ )
270
+ else:
271
+ self.redis_conn = RedisConnector().get_connection()
272
+
246
273
  def create_result_entry(self, pipeline_json_str: str):
247
274
  """
248
275
  Store the serialized pipeline data in Redis with a specified TTL.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scalable-pypeline
3
- Version: 2.1.24
3
+ Version: 2.1.26
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 +0,0 @@
1
- __version__ = "2.1.24"