Skip to content

Commit e503e49

Browse files
committed
Initial implementation
1 parent ffec954 commit e503e49

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

winrm/transport.py

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
from __future__ import unicode_literals
2-
import sys
3-
import os
2+
import errno
43
import inspect
4+
import os
5+
import sys
6+
import time
57

68
is_py2 = sys.version[0] == '2'
79

@@ -260,7 +262,17 @@ def send_message(self, message):
260262

261263
def _send_message_request(self, prepared_request, message):
262264
try:
263-
response = self.session.send(prepared_request, timeout=self.read_timeout_sec)
265+
266+
# Retry connection on 'Connection refused'
267+
for attempt in range(5):
268+
try:
269+
response = self.session.send(prepared_request, timeout=self.read_timeout_sec)
270+
break
271+
except requests.exceptions.ConnectionError as e:
272+
if attempt == 4 or 'connection refused' not in str(e).lower():
273+
raise
274+
time.sleep(5)
275+
264276
response.raise_for_status()
265277
return response
266278
except requests.HTTPError as ex:

0 commit comments

Comments
 (0)