aiohttp.web:random CancelledError' s

时间:2016-11-23 19:06:28

标签: python python-asyncio aiohttp

我有一个aiohttp.web应用,可以使用elasticsearchredisaioesaioredis进行互动。它非常简单:一个事件循环和一些请求处理程序。它在测试服务器上运行正常,但在生产中,当服务器负载达到100 rps时,此错误开始随机出现:

CancelledError: null
  File "visio_longer/views/communicate/receiver.py", line 80, in process_message
    await self.process_ulog_batch(type, batch)
  File "visio_longer/views/communicate/receiver.py", line 240, in process_ulog_batch
    await self.redis.rpush("playback_item_playback", *playbacks_json)
  File "asyncio/futures.py", line 361, in __iter__
    yield self  # This tells Task to wait for completion.
  File "asyncio/tasks.py", line 296, in _wakeup
    future.result()
  File "asyncio/futures.py", line 266, in result
    raise CancelledError

在随机位置和随机时间,elasticsearchredis个客户端都会发生这种情况。服务器负载不超过5-10%,它不是弹性搜索/ redis超时问题(我试过导致超时和异常不同),它只是取消了我的未来。问题是:谁是谁? aiohttp,aioes和aioredis版本是pip的最新版本。

0 个答案:

没有答案