【问题标题】:Frontend application displaing progress from API前端应用程序显示来自 API 的进度
【发布时间】:2020-06-05 14:16:04
【问题描述】:

我有一个案例,我有 3 个 docker 容器: - Angular 中的前端 - Django 中的后端 - 在 python 中处理 API。

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

我已经尝试使用 WebSockets(前端 后端 API),但是在一次处理多个文件的情况下会出现很多错误。

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

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

【问题讨论】:

    标签: django angular websocket server-sent-events


    【解决方案1】:

    我可以想到两种方法。

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-06-05
      • 1970-01-01
      • 2021-10-24
      • 2017-05-21
      • 2023-01-02
      • 2021-01-22
      • 2017-12-22
      • 1970-01-01
      相关资源
      最近更新 更多