Skip to content

Commit aefdec4

Browse files
author
Dzmitry Humianiuk
authored
Merge pull request #49 from pshv/master
Added retries parameter to avoid requests' connection drops
2 parents 6d836b0 + afa37fc commit aefdec4

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

reportportal_client/service.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
import uuid
2020
import logging
2121

22+
from requests.adapters import HTTPAdapter
23+
2224
from .errors import ResponseError, EntryCreatedError, OperationCompletionError
2325

2426
logger = logging.getLogger(__name__)
@@ -103,7 +105,7 @@ class ReportPortalService(object):
103105
"""Service class with report portal event callbacks."""
104106

105107
def __init__(self, endpoint, project, token, api_base="api/v1",
106-
is_skipped_an_issue=True, verify_ssl=True):
108+
is_skipped_an_issue=True, verify_ssl=True, retries=None):
107109
"""Init the service class.
108110
109111
Args:
@@ -126,6 +128,9 @@ def __init__(self, endpoint, project, token, api_base="api/v1",
126128
self.project)
127129

128130
self.session = requests.Session()
131+
if retries:
132+
self.session.mount('https://', HTTPAdapter(max_retries=retries))
133+
self.session.mount('http://', HTTPAdapter(max_retries=retries))
129134
self.session.headers["Authorization"] = "bearer {0}".format(self.token)
130135
self.stack = [None]
131136
self.launch_id = None

reportportal_client/service_async.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ class ReportPortalServiceAsync(object):
134134
def __init__(self, endpoint, project, token, api_base="api/v1",
135135
error_handler=None, log_batch_size=20,
136136
is_skipped_an_issue=True,
137-
verify_ssl=True, queue_get_timeout=5):
137+
verify_ssl=True, queue_get_timeout=5, retries=None):
138138
"""Init the service class.
139139
140140
Args:
@@ -155,7 +155,8 @@ def __init__(self, endpoint, project, token, api_base="api/v1",
155155
endpoint, project, token,
156156
api_base,
157157
is_skipped_an_issue,
158-
verify_ssl)
158+
verify_ssl,
159+
retries)
159160
self.log_batch = []
160161
self.supported_methods = ["start_launch", "finish_launch",
161162
"start_test_item", "finish_test_item", "log"]

0 commit comments

Comments
 (0)