我正在使用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'功能)?
在生产中,您不会将Flask HTTP服务器公开。您将公开一个Gunicorn接口(uWSGI),该接口将调度几个工作线程。您将无需导入多处理程序并自行编写逻辑。
这意味着,如果客户端A和客户端B同时发送请求,Gunicorn将分派2个线程来处理请求,并且这些线程在终止时可能返回响应(为简单起见,我们可以说他们同时返回)。
所以答案是肯定的,客户端可以一次同步发送多个请求。如果您设置了Gunicorn(在Flask文档中建议使用),则您的服务器将能够处理多个请求。