asyncio.sleep 导致 Tornado websocket 断开连接
asyncio.sleep causes Tornado websocket to disconnect
我们已经设置
WEBSOCKET_PING_INTERVAL_SEC = 2
WEBSOCKET_PING_TIMEOUT_SEC = 4
(我们传递给 Tornado 的 websocket 处理程序的参数。)
现在,每当我们在代码中做一个 long ( > 6) asyncio.sleep 时,我们的 websocket 就会断开连接,而常规 time.sleep 不会断开它。显然,似乎 websocket ping 间隔与 asyncio.sleep.
配合不佳
我们应该改变什么来解决这个问题?
(假设我们仍然需要总共 6 秒来检测断开连接。)
Tornado 中的帧处理似乎是按顺序进行的,这意味着如果处理不同的消息很长时间,将无法及时处理 ping。
我们在 Tornado GitHub 存储库 here 中打开了一个问题。
我们已经设置
WEBSOCKET_PING_INTERVAL_SEC = 2
WEBSOCKET_PING_TIMEOUT_SEC = 4
(我们传递给 Tornado 的 websocket 处理程序的参数。)
现在,每当我们在代码中做一个 long ( > 6) asyncio.sleep 时,我们的 websocket 就会断开连接,而常规 time.sleep 不会断开它。显然,似乎 websocket ping 间隔与 asyncio.sleep.
配合不佳我们应该改变什么来解决这个问题? (假设我们仍然需要总共 6 秒来检测断开连接。)
Tornado 中的帧处理似乎是按顺序进行的,这意味着如果处理不同的消息很长时间,将无法及时处理 ping。
我们在 Tornado GitHub 存储库 here 中打开了一个问题。