首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python Flask上的同步api任务

Python Flask上的同步api任务
EN

Stack Overflow用户
提问于 2020-07-16 00:32:56
回答 2查看 2.3K关注 0票数 4

我知道我们不能使用Flask进行异步呼叫。Flask支持同步调用。这是否意味着用户的请求会等待之前启动的其他请求?

例如,我有一个像这样的post方法,并假设update方法需要10秒才能执行:

代码语言:javascript
运行
复制
@app.route('/update', methods = ['POST'])
def update():
    # CODE

假设100个用户同时对更新方法发出post请求。第100个用户将等待之前的请求(99个用户* 10秒= 990秒)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-16 00:49:36

首先,根据您所说的“异步”的意思,是的,您可以向安排异步工作的Flask应用程序发出HTTP请求。这就是像celeryRq这样的任务队列的用途。在Flask Mega Tutorial的第22章中有一个使用Rq的很好的演练。

其次,如果您只有一个单进程、单线程的web服务器,那么是的,请求是按顺序处理的。但在实践中,您将部署在诸如uwsgigunicorn之类的东西后面,它们管理运行应用程序的多个进程。

票数 3
EN

Stack Overflow用户

发布于 2020-07-16 00:42:02

从概念上讲,是的,您是正确的,但在现实世界中,这取决于您部署的flask应用程序

就像我们使用的Gunicorn一样,它是一个WSGI HTTP服务器,通常位于反向代理Nginx和web应用程序之间,比如Django或Flask。Gunicorn产生了许多工作进程,这些工作进程的角色是处理HTTP请求。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62919566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档