我们使用的是夸脱 (Flask+asyncio) Python框架。每次处理请求并将响应发送到客户端时,都会记录此消息(或类似消息):
警告:异步:执行<任务挂起的名称=‘Task-11’coro= cb=_wait.._on_completion() at /usr/local/lib/python3.8/asyncio/tasks.py:在/usr/local/lib/python3.8/site创建的0x7f742ba41ee0>()上运行的wait_for=花了2.700秒
因为这是警告,我们有点担心这可能是什么。有人知道为什么会出现这样的日志吗?
另外,我以前见过更多的日志启动<Task pending name...。有人知道这些日志是什么吗?
要复制类似的日志消息,只需这样做就足够了:
import time
from quart import Quart
app = Quart(__name__)
@app.route('/', methods=['POST'])
async def endpoint():
time.sleep(0.5)
return '', 200如果我将睡眠()设置为较低的值(例如0.05),则不会输出日志消息。
发布于 2021-12-23 16:24:16
异步和其他事件循环要求任务周期性地将控制返回到事件循环,以便它能够切换到另一个任务并并发执行任务。此警告表示任务需要很长时间才能完成任务,从而“阻塞”事件循环。
这很可能是因为您的代码正在执行CPU密集型的操作,或者更有可能使用非异步IO (例如使用请求)。您应该研究这一点,因为它会降低服务器并发服务多个请求的能力。
https://stackoverflow.com/questions/70455957
复制相似问题