summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRay Holder <ray.holder+github@gmail.com>2016-06-05 15:34:38 -0500
committerRay Holder <ray.holder+github@gmail.com>2016-06-05 15:34:38 -0500
commit37b322221cd5e92221672c3b919c52e00dfd95b4 (patch)
treeae5be52cb8ec15bea784a6931e6115c63be8c75a
parentecef4c2d95140a62b41664d3381ecd79fe4244db (diff)
parent2a84101c9a84e3006624ba14d7779c99fb0ef354 (diff)
downloadretrying-37b322221cd5e92221672c3b919c52e00dfd95b4.tar.gz
Merge pull request #38 from harlowja/incrementing-wait-max
Add a upper bound on incrementing wait
-rw-r--r--retrying.py4
1 files changed, 4 insertions, 0 deletions
diff --git a/retrying.py b/retrying.py
index 2db6dcc..547509f 100644
--- a/retrying.py
+++ b/retrying.py
@@ -62,6 +62,7 @@ class Retrying(object):
wait_fixed=None,
wait_random_min=None, wait_random_max=None,
wait_incrementing_start=None, wait_incrementing_increment=None,
+ wait_incrementing_max=None,
wait_exponential_multiplier=None, wait_exponential_max=None,
retry_on_exception=None,
retry_on_result=None,
@@ -79,6 +80,7 @@ class Retrying(object):
self._wait_incrementing_increment = 100 if wait_incrementing_increment is None else wait_incrementing_increment
self._wait_exponential_multiplier = 1 if wait_exponential_multiplier is None else wait_exponential_multiplier
self._wait_exponential_max = MAX_WAIT if wait_exponential_max is None else wait_exponential_max
+ self._wait_incrementing_max = MAX_WAIT if wait_incrementing_max is None else wait_incrementing_max
self._wait_jitter_max = 0 if wait_jitter_max is None else wait_jitter_max
# TODO add chaining of stop behaviors
@@ -165,6 +167,8 @@ class Retrying(object):
wait_incrementing_start and incrementing by wait_incrementing_increment
"""
result = self._wait_incrementing_start + (self._wait_incrementing_increment * (previous_attempt_number - 1))
+ if result > self._wait_incrementing_max:
+ result = self._wait_incrementing_max
if result < 0:
result = 0
return result