为什么 python websockets 客户端每 50 秒重置一次连接?

Why a python websockets client resets a connection every 50 seconds?

pythonwebsockets 客户端出错。客户端每约 50 秒重置一次连接。 服务器显示错误:

Traceback (most recent call last):
  File ".\main.py", line 133, in websocket_endpoint
    await Importer(websocket).start()
  File ".\main.py", line 127, in start
    await self.receive_data(await self.websocket.receive_json())
  File "C:\python\env\py38\lib\site-packages\starlette\websockets.py", line 98, in receive_json
    self._raise_on_disconnect(message)
  File "C:\python\env\py38\lib\site-packages\starlette\websockets.py", line 80, in _raise_on_disconnect
    raise WebSocketDisconnect(message["code"])
starlette.websockets.WebSocketDisconnect: 1006

客户端没有显示任何错误。

FastApi 上的服务器 运行 帮助 uvicorn

uviconr main.app --reload --ws websockets

Websockets 是异步的,如果存在线程阻塞超过 50 秒,那么连接将重置。为了解决这个问题,需要找到阻塞线程的函数和 运行 它们的帮助:

result = await loop.run_in_executor(None, blocking_io_function)