Django 在请求结束之前将进度发送回客户端



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

  1. 首先,进度任务信息可以保存在 rdb 或 redis 中。
  2. 当使用提交请求启动任务并且可以在后台上下文中执行任务时,可以返回任务的 id。
  3. 后台任务可以将任务进度信息保存在所选的数据库中。
  4. 应用客户端通过后端返回的任务 ID 获取进度信息,后端从数据库获取进度信息并在响应中推送。
  5. 请求的间隔可以由您自己定义。

最新更新