asyncio.sleep导致Tornado websocket断开连接



我们设置了

WEBSOCKET_PING_INTERVAL_SEC = 2
WEBSOCKET_PING_TIMEOUT_SEC = 4

(我们传递给Tornado的websocket处理程序的参数。(

现在,每当我们在代码中执行长的(>6(asyncio.sleep时,我们的websocket就会断开连接,而常规的time.sleep不会断开连接。显然,websocket的ping间隔似乎对asyncio.shleep不太好。

我们应该改变什么来解决这个问题?(假设我们仍然需要总共6秒的时间来检测断开连接。(

Tornado中的帧处理似乎是按顺序进行的,这意味着如果长时间处理不同的消息,将无法及时处理ping。

我们在Tornado GitHub回购中打开了一个问题。

最新更新