网址:aiohttp.web:随机取消错误

2024-06-16 04:53:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个aiohttp.web应用程序,它使用aioesaiorediselasticsearchredis交互。它非常简单:一个事件循环和几个请求处理程序。它在测试服务器上正常工作,但在生产环境中,当服务器负载达到100 rpm时,此错误开始随机出现:

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%,这不是elasticsearch/redis超时问题(我尝试过导致超时,异常情况不同),只是有东西取消了我的未来。问题是:谁是?aiohttp、aioes和aioredis版本是pip的最新版本。你知道吗


Tags: inpyself服务器redisasyncioaiohttpbatch