Skip to content

Commit 7dedb11

Browse files
committed
Remove redundant retries
1 parent c7b6152 commit 7dedb11

File tree

3 files changed

+21
-23
lines changed

3 files changed

+21
-23
lines changed

reportportal_client/client.py

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import logging
1818

1919
import requests
20-
from requests.adapters import HTTPAdapter
20+
from requests.adapters import HTTPAdapter, Retry
2121

2222
from ._local import set_current
2323
from .core.log_manager import LogManager
@@ -96,10 +96,15 @@ def __init__(self,
9696
self.step_reporter = StepReporter(self)
9797
self._item_stack = []
9898
if retries:
99+
retry_strategy = Retry(
100+
total=retries,
101+
backoff_factor=0.1,
102+
status_forcelist=[429, 500, 502, 503, 504]
103+
)
99104
self.session.mount('https://', HTTPAdapter(
100-
max_retries=retries, pool_maxsize=max_pool_size))
105+
max_retries=retry_strategy, pool_maxsize=max_pool_size))
101106
self.session.mount('http://', HTTPAdapter(
102-
max_retries=retries, pool_maxsize=max_pool_size))
107+
max_retries=retry_strategy, pool_maxsize=max_pool_size))
103108
self.session.headers['Authorization'] = 'bearer {0}'.format(self.token)
104109

105110
self._log_manager = LogManager(

reportportal_client/core/rp_requests.py

Lines changed: 13 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@
3333
from reportportal_client.static.defines import (
3434
DEFAULT_PRIORITY,
3535
LOW_PRIORITY,
36-
RP_LOG_LEVELS,
37-
SEND_RETRY_COUNT
36+
RP_LOG_LEVELS
3837
)
3938
from .rp_responses import RPResponse
4039

@@ -71,24 +70,19 @@ def __init__(self, session_method, url, data=None, json=None,
7170

7271
def make(self):
7372
"""Make HTTP request to the Report Portal API."""
74-
exceptions = []
75-
for attempt in range(SEND_RETRY_COUNT):
76-
try:
77-
return RPResponse(self.session_method(
78-
self.url, data=self.data, json=self.json,
79-
files=self.files, verify=self.verify_ssl,
80-
timeout=self.http_timeout)
81-
)
73+
try:
74+
return RPResponse(self.session_method(
75+
self.url, data=self.data, json=self.json,
76+
files=self.files, verify=self.verify_ssl,
77+
timeout=self.http_timeout)
78+
)
8279
# https://github.com/reportportal/client-Python/issues/39
83-
except (KeyError, IOError, ValueError) as exc:
84-
exceptions.append(exc)
85-
86-
logger.warning(
87-
"Report Portal %s request failed after %d attempts",
88-
self.name,
89-
SEND_RETRY_COUNT,
90-
exc_info=exceptions[-1]
91-
)
80+
except (KeyError, IOError, ValueError) as exc:
81+
logger.warning(
82+
"Report Portal %s request failed",
83+
self.name,
84+
exc_info=exc
85+
)
9286

9387

9488
class RPRequestBase(object):

reportportal_client/static/defines.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,4 +83,3 @@ class Priority(enum.IntEnum):
8383
LOW_PRIORITY = Priority.PRIORITY_LOW
8484
NOT_FOUND = _PresenceSentinel()
8585
NOT_SET = _PresenceSentinel()
86-
SEND_RETRY_COUNT = 10

0 commit comments

Comments
 (0)