@@ -88,7 +88,7 @@ def __init__(self,
88
88
:param retry_max_attempts: How many times to retry on temporary errors
89
89
:param retry_first_delay: The time to delay first retry (grows exponentially from there)
90
90
:param retry_random_delay: The max random delay to add on each exponential backoff retry
91
- :param timeout_seconds: How many seconds to wait for server response (default=60, <= 0 or None means forever)
91
+ :param timeout_seconds: How many seconds to wait for server response (<= 0 or None means forever)
92
92
:param throttle_actions: Max number of actions to pack into a single call
93
93
:param throttle_commands: Max number of commands allowed in a single action
94
94
:param user_agent: (optional) string to use as User-Agent header (umapi-client/version data will be added)
@@ -381,7 +381,7 @@ def call():
381
381
def call ():
382
382
return self .session .get (self .endpoint + path , auth = self .auth , timeout = self .timeout )
383
383
384
- total_time = 0
384
+ start_time = time ()
385
385
result = None
386
386
for num_attempts in range (1 , self .retry_max_attempts + 1 ):
387
387
try :
@@ -412,7 +412,6 @@ def call():
412
412
else :
413
413
raise ServerError (result )
414
414
except requests .Timeout :
415
- total_time += int (self .timeout )
416
415
if self .logger : self .logger .warning ("UMAPI connection timeout...(%d seconds on try %d)" ,
417
416
self .timeout , num_attempts )
418
417
retry_wait = 0
@@ -421,9 +420,9 @@ def call():
421
420
if retry_wait > 0 :
422
421
if self .logger : self .logger .warning ("Next retry in %d seconds..." , retry_wait )
423
422
sleep (retry_wait )
424
- total_time += retry_wait
425
423
else :
426
424
if self .logger : self .logger .warning ("Immediate retry..." )
425
+ total_time = int (time () - start_time )
427
426
if self .logger : self .logger .error ("UMAPI timeout...giving up after %d attempts (%d seconds)." ,
428
427
self .retry_max_attempts , total_time )
429
428
raise UnavailableError (self .retry_max_attempts , total_time , result )
0 commit comments