http服务中的多处理或线程?

问题描述 投票:0回答:1

我正在使用Flask托管http服务:

import requests
r = requests.get('http://0.0.0.0:5000/segment?text=this is a test')

[当客户调用此服务时,它必须一个接一个地处理文本。我对此有2个问题:

1]为了利用Python的多处理或多线程,客户端可以同时向该http服务发送多个请求以加快速度吗?

2)如果对问题1)是肯定的,那么这个“段”是否必须支持多处理?我可以使用多重处理,但是参数必须是文本列表,而不是单个文本。

[通常,在此http服务上下文中,如何使HTTP请求更快地处理,希望同时从客户端和服务器端处理(即'segment'功能)?

python flask multiprocessing
1个回答
0
投票

在生产中,您不会将Flask HTTP服务器公开。您将公开一个Gunicorn接口(uWSGI),该接口将调度几个工作线程。您将无需导入多处理程序并自行编写逻辑。

这意味着,如果客户端A和客户端B同时发送请求,Gunicorn将分派2个线程来处理请求,并且这些线程在终止时可能返回响应(为简单起见,我们可以说他们同时返回)。

所以答案是肯定的,客户端可以一次同步发送多个请求。如果您设置了Gunicorn(在Flask文档中建议使用),则您的服务器将能够处理多个请求。

© www.soinside.com 2019 - 2024. All rights reserved.