异步Websocket Feed丢失消息

时间:2019-07-09 12:59:36

标签: python websocket async-await asyncio

作为大型应用程序的一部分,我正在侦听来自服务器的WebSocket消息;最小的代码示例是

myQueue= asyncio.Queue(maxsize=10000)

async with websockets.connect('wss://url') as websocket:
   while True:
      response = await websocket.recv()
      await self.myQueue.put(response)

async def func():
   while True:
       msg = await self.myQueue.get()
       do_stuff(msg)

但是,每隔几天,当收到的邮件数量激增(每秒10-20条)时,某些邮件就会丢失或以错误的顺序接收。然后程序将继续正常运行。我最近添加了异步队列,从而改善了这种情况(每隔几天而不是每隔几个小时发出一次)。

我的程序在接收/处理消息方面的延迟不会超过1秒,因此不是它无法跟上进度。我以为Websocket的顺序是可以保证的,那么出现短时丢失消息的可能原因是什么?

0 个答案:

没有答案