scalable-pypeline 2.0.4__py2.py3-none-any.whl → 2.0.5__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.0.4"
1
+ __version__ = "2.0.5"
pypeline/constants.py CHANGED
@@ -1,5 +1,6 @@
1
1
  """ Pypeline Constants
2
2
  """
3
+
3
4
  import os
4
5
 
5
6
  # Pypeline configuration defaults
@@ -26,7 +27,15 @@ DEFAULT_TASK_MIN_BACKOFF = int(os.getenv("DEFAULT_TASK_MIN_BACKOFF", 15)) # sec
26
27
  DEFAULT_TASK_MAX_BACKOFF = int(
27
28
  os.getenv("DEFAULT_TASK_MAX_BACKOFF", 3600)
28
29
  ) # seconds (1 hour)
29
-
30
+ DEFAULT_BROKER_CONNECTION_HEARTBEAT = int(
31
+ os.getenv("DEFAULT_BROKER_CONNECTION_HEARTBEAT", 5)
32
+ )
33
+ DEFAULT_BROKER_CONNECTION_ATTEMPTS = int(
34
+ os.getenv("DEFAULT_BROKER_CONNECTION_ATTEMPTS", 5)
35
+ )
36
+ DEFAULT_BROKER_BLOCKED_CONNECTION_TIMEOUT = int(
37
+ os.getenv("DEFAULT_BROKER_BLOCKED_CONNECTION_TIMEOUT", 30)
38
+ )
30
39
 
31
40
  MS_IN_SECONDS = 1000
32
41
  API_PATH_V1 = "/api/v1"
pypeline/dramatiq.py CHANGED
@@ -2,7 +2,10 @@ import importlib
2
2
  import os.path
3
3
  import sys
4
4
  import typing
5
+ import pika
5
6
  import logging
7
+ from urllib.parse import urlparse
8
+
6
9
  import click
7
10
  from pypeline.extensions import pypeline_config
8
11
  from warnings import warn
@@ -35,6 +38,9 @@ from pypeline.constants import (
35
38
  DEFAULT_TASK_MAX_RETRY,
36
39
  DEFAULT_TASK_MIN_BACKOFF,
37
40
  DEFAULT_TASK_MAX_BACKOFF,
41
+ DEFAULT_BROKER_CONNECTION_HEARTBEAT,
42
+ DEFAULT_BROKER_BLOCKED_CONNECTION_TIMEOUT,
43
+ DEFAULT_BROKER_CONNECTION_ATTEMPTS,
38
44
  )
39
45
  from pypeline.middleware import ParallelPipeline
40
46
  from pypeline.utils.config_utils import (
@@ -56,7 +62,20 @@ logger = logging.getLogger(__name__)
56
62
 
57
63
  def configure_default_broker(broker: Broker = None):
58
64
  redis_backend = RedisBackend(url=REDIS_URL)
59
- rabbit_broker = broker if broker is not None else RabbitmqBroker(url=RABBIT_URL)
65
+ parsed_url = urlparse(RABBIT_URL)
66
+ credentials = pika.PlainCredentials(parsed_url.username, parsed_url.password)
67
+ rabbit_broker = (
68
+ broker
69
+ if broker is not None
70
+ else RabbitmqBroker(
71
+ host=parsed_url.host,
72
+ port=parsed_url.port,
73
+ credentials=credentials,
74
+ heartbeat=DEFAULT_BROKER_CONNECTION_HEARTBEAT,
75
+ connection_attempts=DEFAULT_BROKER_CONNECTION_ATTEMPTS,
76
+ blocked_connection_timeout=DEFAULT_BROKER_BLOCKED_CONNECTION_TIMEOUT,
77
+ )
78
+ )
60
79
  rabbit_broker.add_middleware(Results(backend=redis_backend))
61
80
  rabbit_broker.add_middleware(ParallelPipeline(redis_url=REDIS_URL))
62
81
  rabbit_broker.add_middleware(CurrentMessage())
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: scalable-pypeline
3
- Version: 2.0.4
3
+ Version: 2.0.5
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,8 +1,8 @@
1
- pypeline/__init__.py,sha256=ZOg41aCgKEuObK5WhegikXektFWPJaeZ-TMDh0Ke95M,22
1
+ pypeline/__init__.py,sha256=xEb7Z4b8xalXXExBg42XPAhbJKniHzcsEPjp-6S3ppg,22
2
2
  pypeline/barrier.py,sha256=dLDaprH5NB-C7MQjZqPpBBhMjmO0VV_kTonlgweznHc,1096
3
3
  pypeline/composition.py,sha256=pTw9Xb9h4JnV4siFc3JStm5lB-i9djUADo3Kh5K3s7g,12976
4
- pypeline/constants.py,sha256=vi4UZz1xd0ZeIuelp4QgCQsMlIHW65-lVB8l_iA8kBE,2578
5
- pypeline/dramatiq.py,sha256=vO79DHqLldh5mqQf6-okn6gjFWxYU_bGdkMvTyV9Qmc,14942
4
+ pypeline/constants.py,sha256=coiF8dMP25qIwoNYSnS7oy7hCd4-5yqPFmdPsN93Q1A,2892
5
+ pypeline/dramatiq.py,sha256=K633IDydEwO0tfLmRU48B2jhymUbcC3EON3JVKJ74J4,15578
6
6
  pypeline/extensions.py,sha256=BzOTnXhNxap3N7uIUUh_hO6dDwx08Vc_RJDE93_K0Lo,610
7
7
  pypeline/middleware.py,sha256=kTp6niYoe2nXIiN6EGRfdpxrJyioo0GPxDkfefbGlEk,2821
8
8
  pypeline/pipeline_config_schema.py,sha256=DQ_RMucnA0AyrndlW6lkb0orGromcO6C9GgLHyG6lJ0,8013
@@ -19,9 +19,9 @@ pypeline/utils/config_utils.py,sha256=rAIATyoW7kGETZ_Z2DqiXtGd7bJp5uPfcLtfNPOYsN
19
19
  pypeline/utils/module_utils.py,sha256=boEP9IYr4p_ick7HlVUfIxOYHQlEmo7dgvDBCQc-C28,2914
20
20
  pypeline/utils/pipeline_utils.py,sha256=tt71hLEFgPieokJZlC1rP2dmCTctrOPt7K1rGlbnT4o,5967
21
21
  tests/fixtures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
22
- scalable_pypeline-2.0.4.dist-info/LICENSE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174
23
- scalable_pypeline-2.0.4.dist-info/METADATA,sha256=7x7ixgNRG6TzxBmPNoccefVAwRKuESR_eoyIoJ6oHTw,6239
24
- scalable_pypeline-2.0.4.dist-info/WHEEL,sha256=bb2Ot9scclHKMOLDEHY6B2sicWOgugjFKaJsT7vwMQo,110
25
- scalable_pypeline-2.0.4.dist-info/entry_points.txt,sha256=uWs10ODfHSBKo2Cx_QaUjPHQTpZ3e77j9VlAdRRmMyg,119
26
- scalable_pypeline-2.0.4.dist-info/top_level.txt,sha256=C7dpkEOc_-nnsAQb28BfQknjD6XHRyS9ZrvVeoIbV7s,15
27
- scalable_pypeline-2.0.4.dist-info/RECORD,,
22
+ scalable_pypeline-2.0.5.dist-info/LICENSE,sha256=DVQuDIgE45qn836wDaWnYhSdxoLXgpRRKH4RuTjpRZQ,10174
23
+ scalable_pypeline-2.0.5.dist-info/METADATA,sha256=-YlluvvoDLhu8q8Ey2lYdynmjPb_MMO2i2pdIVH8z_A,6239
24
+ scalable_pypeline-2.0.5.dist-info/WHEEL,sha256=bb2Ot9scclHKMOLDEHY6B2sicWOgugjFKaJsT7vwMQo,110
25
+ scalable_pypeline-2.0.5.dist-info/entry_points.txt,sha256=uWs10ODfHSBKo2Cx_QaUjPHQTpZ3e77j9VlAdRRmMyg,119
26
+ scalable_pypeline-2.0.5.dist-info/top_level.txt,sha256=C7dpkEOc_-nnsAQb28BfQknjD6XHRyS9ZrvVeoIbV7s,15
27
+ scalable_pypeline-2.0.5.dist-info/RECORD,,