Как сделать, чтобы после except функция повторно запускалась?

Есть функция, вызываемая в потоке, которая запрашивает значения у датчика в цикле. При недоступности датчика выбрасываются except, в которых вызывается continue, и по логике вещей цикл должен продолжаться с начала. Но так не происходит. Функция просто перестает выполнятся. Подскажите почему так происходит и как исправить?

def parsing_GPIO_4relay11():
    while True:

        try:
            url = "http://192.168.0.120/gpioprint"
            r = requests.get(url)
            Variables.status_code_4relay = r.status_code
            r.encoding = "UTF8"
            with open('4relay.txt', 'w') as output_file:
                output_file.write(r.text)
            f = open('4relay.txt')
            str_4relay = f.read()
            f.close()
            print('parsing_GPIO_4relay = Ok')
            str_4relay2 = str_4relay[str_4relay.find(":") + 1:]

            r1 = str_4relay2[: str_4relay2.find(";")]
            r2 = str_4relay[10:11]
            r3 = str_4relay[18:19]
            r4 = str_4relay[23:24]
            relay_list = [r1, r2, r3, r4]
            Variables.parsing_GPIO_4relay = relay_list
            Variables.parsing_GPIO_4relay1 = relay_list
            print('Variables.parsing_GPIO_4relay =' + str(Variables.parsing_GPIO_4relay))

        except TimeoutError:
            Variables.parsing_GPIO_4relay = [0, 0, 0, 0]
            print('parsing_GPIO_4relay11 except TimeoutError')
            continue
        except ConnectTimeout:
            print('parsing_GPIO_4relay11 except ConnectTimeout')
            Variables.parsing_GPIO_4relay = [0, 0, 0, 0]
            continue
        except ConnectionError:
            print('parsing_GPIO_4relay11 except ConnectionError')
            Variables.parsing_GPIO_4relay = [0, 0, 0, 0]
            continue
        except NewConnectionError:
            print('parsing_GPIO_4relay11 except NewConnectionError')
            Variables.parsing_GPIO_4relay = [0, 0, 0, 0]
            continue
        except MaxRetryError:
            sleep(10.0)
            print('parsing_GPIO_4Relay11 MaxRetry Error!')
            Variables.parsing_GPIO_4relay = [0, 0, 0, 0]
            continue
        break
    sleep(10.0)
    parsing_GPIO_4relay11()

Листинг:

Exception in thread Thread-1:
Traceback (most recent call last):
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connection.py", line 169, in _new_conn
    conn = connection.create_connection(
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\util\connection.py", line 96, in create_connection
    raise err
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\util\connection.py", line 86, in create_connection
    sock.connect(sa)
TimeoutError: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connectionpool.py", line 699, in urlopen
    httplib_response = self._make_request(
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connectionpool.py", line 394, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connection.py", line 234, in request
    super(HTTPConnection, self).request(method, url, body=body, headers=headers)
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1255, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1301, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1250, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 1010, in _send_output
    self.send(msg)
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\http\client.py", line 950, in send
    self.connect()
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connection.py", line 200, in connect
    conn = self._new_conn()
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connection.py", line 181, in _new_conn
    raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x000000000365BE20>: Failed to establish a new connection: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\adapters.py", line 439, in send
    resp = conn.urlopen(
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\connectionpool.py", line 755, in urlopen
    retries = retries.increment(
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\urllib3\util\retry.py", line 574, in increment
    raise MaxRetryError(_pool, url, error or ResponseError(cause))
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='192.168.0.120', port=80): Max retries exceeded with url: /gpioprint (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000000000365BE20>: Failed to establish a new connection: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "D:\Java work\eclipse\test\New_vision\Stream_2.py", line 352, in parsing_GPIO_4relay11
    parsing_GPIO_4relay11()
  File "D:\Java work\eclipse\test\New_vision\Stream_2.py", line 352, in parsing_GPIO_4relay11
    parsing_GPIO_4relay11()
  File "D:\Java work\eclipse\test\New_vision\Stream_2.py", line 352, in parsing_GPIO_4relay11
    parsing_GPIO_4relay11()
  [Previous line repeated 3 more times]
  File "D:\Java work\eclipse\test\New_vision\Stream_2.py", line 298, in parsing_GPIO_4relay11
    r = requests.get(url)
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\api.py", line 76, in get
    return request('get', url, params=params, **kwargs)
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\api.py", line 61, in request
    return session.request(method=method, url=url, **kwargs)
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\sessions.py", line 542, in request
    resp = self.send(prep, **send_kwargs)
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\sessions.py", line 655, in send
    r = adapter.send(request, **kwargs)
  File "C:\Users\Noutbook\AppData\Local\Programs\Python\Python38\lib\site-packages\requests\adapters.py", line 516, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPConnectionPool(host='192.168.0.120', port=80): Max retries exceeded with url: /gpioprint (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x000000000365BE20>: Failed to establish a new connection: [WinError 10060] Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера'))

Ответы (0 шт):