Improve speed websocket sends messages (#27295)

* Improve speed websocket sends messages

* return -> continue
This commit is contained in:
Paulus Schoutsen 2019-10-07 20:08:07 -07:00 committed by GitHub
parent 1087abd3b5
commit c9e26b6fd0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -61,12 +61,15 @@ class WebSocketHandler:
message = await self._to_write.get() message = await self._to_write.get()
if message is None: if message is None:
break break
self._logger.debug("Sending %s", message) self._logger.debug("Sending %s", message)
if isinstance(message, str):
await self.wsock.send_str(message)
continue
try: try:
if isinstance(message, str): dumped = JSON_DUMP(message)
await self.wsock.send_str(message)
else:
await self.wsock.send_json(message, dumps=JSON_DUMP)
except (ValueError, TypeError) as err: except (ValueError, TypeError) as err:
self._logger.error( self._logger.error(
"Unable to serialize to JSON: %s\n%s", err, message "Unable to serialize to JSON: %s\n%s", err, message
@ -76,6 +79,9 @@ class WebSocketHandler:
message["id"], ERR_UNKNOWN_ERROR, "Invalid JSON in response" message["id"], ERR_UNKNOWN_ERROR, "Invalid JSON in response"
) )
) )
continue
await self.wsock.send_str(dumped)
@callback @callback
def _send_message(self, message): def _send_message(self, message):