我正在Python中使用aiohttp设置服务器。我收到的每个请求大约需要0.5秒才能完成。现在,如果我突然同时有1000个请求,那么所有这些请求将“堆叠”并依次执行。 我想在一段时间后轻松地“取消”请求(不仅在前端,而且在我的服务器上,以便它可以回答新请求。) 我该怎么办?
async def query_similar(request):
data = await request.post()
return longfunction(data)
async def status(request):
return web.Response(text="Hello")
if __name__ == "__main__":
_query_similar = partial(query_similar)
_status = partial(status)
app = web.Application(client_max_size=1024**16)
cors = aiohttp_cors.setup(app)
resource = cors.add(app.router.add_resource('/query'))
route = cors.add(
resource.add_route("POST", _query_similar),
{
"*": aiohttp_cors.ResourceOptions(
allow_credentials=True,
expose_headers="*",
allow_headers="*"
)
}
)
resource_status = cors.add(app.router.add_resource('/status'))
route_status = cors.add(
resource_status.add_route("GET", _status),
{
"*": aiohttp_cors.ResourceOptions(
allow_credentials=True,
expose_headers="*",
allow_headers="*"
)
}
)
try:
web.run_app(app, port=args.port)
finally:
a=1
谢谢!