我有一个aiohttp.web
应用程序,它使用aioes
和aioredis
与elasticsearch
和redis
交互。它非常简单:一个事件循环和几个请求处理程序。它在测试服务器上正常工作,但在生产环境中,当服务器负载达到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
它发生在elasticsearch
和redis
客户端的随机位置和随机时间。服务器负载不超过5-10%,这不是elasticsearch/redis超时问题(我尝试过导致超时,异常情况不同),只是有东西取消了我的未来。问题是:谁是?aiohttp、aioes和aioredis版本是pip的最新版本。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐