【问题标题】:Django send progress back to client before request has endedDjango 在请求结束之前将进度发送回客户端
【发布时间】:2019-02-07 20:53:38
【问题描述】:

我正在 Django 中开发一个应用程序,其中有一个功能可以让用户共享公共文件的下载链接。服务器下载文件并处理其中的信息。这可能是一项耗时的任务,因此我想在操作完成之前向用户发送定期反馈。例如,我想通知用户文件已成功下载,或者记录之一中是否缺少某些信息等。 我在想,在客户端应用程序发送上传请求后,我可以让客户端应用程序定期向服务器询问状态。但我不知道如何跟踪不同请求的进度。如何实现?

【问题讨论】:

    标签: python django sockets http


    【解决方案1】:
    1. 一开始进度任务信息可以保存在rdb或者redis中。
    2. 使用提交请求启动任务时可以返回任务id,任务可以在后台执行。
    3. 后台任务可以将任务进度信息保存在您选择的数据库中。
    4. 应用客户端通过后端返回的任务ID获取进度信息,后端从数据库中获取进度信息并推送到响应中。
    5. 请求的时间间隔可以自己定义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-04
      • 1970-01-01
      • 2019-07-19
      • 1970-01-01
      • 2014-09-13
      • 1970-01-01
      • 2017-02-21
      相关资源
      最近更新 更多