Add better error handling here
This commit is contained in:
1 parent
fcd9e5b52d
commit
30792d08d5
1 file changed
+6
@@ -74,7 +74,10 @@ class Websocket:
|
|||||||
if ping_future is not None and not ping_future.done():
|
if ping_future is not None and not ping_future.done():
|
||||||
ping_future.set_result(message)
|
ping_future.set_result(message)
|
||||||
elif msg_type == "RESPONSE":
|
elif msg_type == "RESPONSE":
|
||||||
|
try:
|
||||||
self._recv_dict.pop(message["nonce"]).set_result(message)
|
self._recv_dict.pop(message["nonce"]).set_result(message)
|
||||||
|
except KeyError:
|
||||||
|
logger.exception("Received response for a request we didn't send")
|
||||||
elif msg_type == "RECONNECT":
|
elif msg_type == "RECONNECT":
|
||||||
# We've received a reconnect request
|
# We've received a reconnect request
|
||||||
logger.warning("Received a Websocket Reconnect Request")
|
logger.warning("Received a Websocket Reconnect Request")
|
||||||
@@ -84,7 +87,10 @@ class Websocket:
|
|||||||
target_topic = message["data"]["topic"]
|
target_topic = message["data"]["topic"]
|
||||||
for topic in self._topics:
|
for topic in self._topics:
|
||||||
if target_topic == topic:
|
if target_topic == topic:
|
||||||
|
try:
|
||||||
await topic.process(json.loads(message["data"]["message"]))
|
await topic.process(json.loads(message["data"]["message"]))
|
||||||
|
except Exception:
|
||||||
|
logger.exception("Exception in websocket topic process")
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
logger.error(f"Received unknown websocket payload: {message}")
|
logger.error(f"Received unknown websocket payload: {message}")
|
||||||
|
|||||||
Reference in new issue
Block a user