如何从使用Flask实现的REST API获取更新(响应)?如果不可能,是否有任何解决方法?

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

我正在研究OCR应用程序。我将docker用于我的应用程序。该应用程序包含4个容器。

  1. 转换器(将PDF转换为图像)
  2. 清洁器(清洁图像)
  3. 抄录员(将图像转换为文本)
  4. 多合一

AllinOne容器通过API调用集成了所有其他容器。这些API是使用Flask实现的。 AllinOne容器暴露给服务器。工作流程如下,邮递员(用户请求)-> AllinOne->转换器-> AllinOne->清理程序-> Allinone->转录器-> Allinone-> Postman(响应)

现在,我正在尝试向我的应用程序添加一个名为批量上传的功能,用户可以在其中上传.zip文件。由于批量处理,上载需要更长的时间来处理,因此我需要有关过程状态的中间结果。我为正在上传的每个文件分配了一个file_id。我需要将file_id返回给用户,以便他们能够检查其文件的处理状态。但是,处理必须在后台进行。

如果我返回file_id,则处理将停止,否则,只有在处理完文件之后,file_id才会返回,这是没有用的。我应该实现两个API调用吗?一个用于上载文件并返回file_id,另一个用于处理文件并返回结果。是否可以通过API发送频繁的更新作为响应?能做得更好吗?随时建议架构的任何更改。

谢谢,克里希纳·普拉萨德(Krishna Prasad)A>

我正在研究OCR应用程序。我将docker用于我的应用程序。该应用程序包含4个容器。转换器(将PDF转换为图像)清洁器(清除图像)转录器(转换...

python-3.x rest docker flask flask-restful
1个回答
0
投票

REST-API是同步的,但您的处理不必是同步的。您可能应该更改架构,以便HTTP-POST仅创建所有必要的作业并返回用户以后可以检查的ID。

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