Я пытаюсь выполнить автоматическое повторное соединение с веб-сокетами и asyncio, однако кажется, что мой код не работает. Любые рекомендации, чтобы улучшить его?
Соединение websocket не удается несколько раз. Поэтому я пытаюсь поймать это в исключении.
import asyncio
import json
import websockets
async def test():
async with websockets.connect('my_websocket_ip') as websvivo:
while True:
response = await websvivo.recv()
response = json.loads(response)
print(response)
if __name__ == "__main__":
try:
asyncio.run(test())
except websockets.exceptions.ConnectionClosedError as e:
asyncio.sleep(2)
asyncio.run(test())
except Exception as e:
print(e)
Я получаю следующее сообщение об ошибке:
concurrent.futures._base.CancelledError