summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--swiftclient/client.py9
1 files changed, 5 insertions, 4 deletions
diff --git a/swiftclient/client.py b/swiftclient/client.py
index 03dad31..0a32033 100644
--- a/swiftclient/client.py
+++ b/swiftclient/client.py
@@ -1044,9 +1044,9 @@ class Connection(object):
def __init__(self, authurl=None, user=None, key=None, retries=5,
preauthurl=None, preauthtoken=None, snet=False,
- starting_backoff=1, tenant_name=None, os_options=None,
- auth_version="1", cacert=None, insecure=False,
- ssl_compression=True):
+ starting_backoff=1, max_backoff=64, tenant_name=None,
+ os_options=None, auth_version="1", cacert=None,
+ insecure=False, ssl_compression=True):
"""
:param authurl: authentication URL
:param user: user name to authenticate as
@@ -1081,6 +1081,7 @@ class Connection(object):
self.attempts = 0
self.snet = snet
self.starting_backoff = starting_backoff
+ self.max_backoff = max_backoff
self.auth_version = auth_version
self.os_options = os_options or {}
if tenant_name:
@@ -1152,7 +1153,7 @@ class Connection(object):
else:
raise
sleep(backoff)
- backoff *= 2
+ backoff = min(backoff * 2, self.max_backoff)
if reset_func:
reset_func(func, *args, **kwargs)