2
我对网络开发很新颖,所以我只是想看看我是否有一个完整的图片,适合我正在尝试做的事情。如果有任何术语错误,请原谅我。 我的Django应用程序需要做到以下几点:如何让Django返回一个模板,但在模板返回后继续执行一个过程?
- 用户上传文件通过他的浏览器
- 文件由服务器处理(最多可能需要一个小时)
- 用户看到了他的浏览器的结果
...这里是我的想法:
1.用户上传文件(很简单)
2.文件处理 - 视图功能会去是这样的:
def process(request):
a. (get file from the request)
b. (return a page which says "the server is running your job, results will be available in {ETA}")
c. (start processing the data)
3.用户看到了他的浏览器的结果 - 浏览器查询定期服务器,看看任务完成。当工作准备就绪后,浏览器获得结果。
我的问题是,在步骤2中的b和c部分,我如何返回浏览器的响应,而不必等待进程完成?或者,在将结果返回给浏览器后,如何确保该过程继续运行?该过程理想情况下可以访问Django环境变量,因为它可以通过Django的界面与数据库一起工作。
使用任务队列(即芹菜)或打开子进程(不知道它是否会工作) – yedpodtrzitko