Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django在请求结束前将进度发送回客户端_Python_Django_Sockets_Http - Fatal编程技术网

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

Python Django在请求结束前将进度发送回客户端,python,django,sockets,http,Python,Django,Sockets,Http,我正在Django开发一个应用程序,其中有一个功能允许用户共享到公共文件的下载链接。服务器下载文件并处理其中的信息。这可能是一项耗时的任务,因此我希望在操作完成之前定期向用户发送反馈。例如,我想通知用户文件已成功下载,或者某个记录e.t.c中缺少某些信息。 我在想,在客户端应用程序发送上传请求后,我可以让客户端应用程序定期向服务器询问状态。但我不知道如何跟踪不同请求的进度。如何实现这一点 首先,进度任务信息可以保存在rdb或redis中 当使用submit请求启动任务时,可以返回任务的id,并且

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

  • 首先,进度任务信息可以保存在rdb或redis中
  • 当使用submit请求启动任务时,可以返回任务的id,并且可以在后台上下文中执行任务
  • 后台任务可以在您选择的数据库中保存任务进度信息
  • 应用程序客户端通过后端返回的任务id获取进度信息,后端从db获取进度信息并将其推送到响应中
  • 请求的间隔可以由您自己定义