前端应用程序从 API 分解进度



我有一个案例,我有 3 个 docker 容器: - Angular 前端 - 姜戈后端 - 在 Python 中处理 API。

用例是用户将文件发送到后端卷(使用前端 GUI(,然后 API 对其进行处理。处理需要一些时间,因此 API 使用 SSE 将更新发送到后端(这是该操作的触发器(,我想将该进度更新转发到前端。

我尝试使用WebSockets(前端<- WebSocket -->后端<- SSE --> API(,但是在一次处理多个文件的情况下有很多错误。

我也不想将 API 暴露给前端。API 可以并行处理多个文件。

你们对这种情况有一些最佳实践吗?

我能想到两种方法。

一种是使用您已经在使用的 WebSocket 方法,并找出错误是什么并修复它。

另一种是让客户端(Angular 应用程序(轮询后端的状态,直到它完成。

这两种方法是相当等效的,只是 WebSocket 可能不太健谈,并且在处理完成时会立即通知,而不是让客户端等待下一个轮询间隔。

WebSocket 方法对用户来说更好,网络流量更轻, 但轮询方法不会引入在前端和后端设置和维护 WebSocket 的额外复杂性。

最新更新