首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Django中运行长时间运行的任务,同时立即将页面返回给用户的正确方法是什么?

在Django中运行长时间运行的任务,同时立即将页面返回给用户的正确方法是什么?
EN

Stack Overflow用户
提问于 2012-10-02 00:59:48
回答 2查看 292关注 0票数 1

我正在写一个小的Django网站,它将为用户提供一种删除Flickr上所有联系人的方法。

这主要是一个学习Selenium的练习,而不是一些实际有用的东西-因为Flickr API没有提供删除联系人的方法,所以我使用Selenium来制作一个实际的web浏览器来执行实际删除联系人的操作。

因为这可能需要一段时间,所以我想向用户显示一条消息,告诉用户删除正在完成,然后在删除完成时通知他们。

在Django中,正确的方式是立即将网页返回给用户,同时在服务器上执行在页面返回后继续执行的任务?

我的Django视图函数会使用the Python threading module让删除代码在另一个线程中运行,同时将页面返回给用户吗?

EN

回答 2

Stack Overflow用户

发布于 2012-10-02 01:02:21

考虑使用一些任务队列-- Django社区最喜欢的解决方案之一就是在RabbitMQ中使用芹菜。

票数 5
EN

Stack Overflow用户

发布于 2012-10-02 03:16:54

一旦我需要它,我设置了另一个Python进程,它将通过xmlrpc与Django通信-这个进程将处理长请求,并能够回答每个请求的状态。Django视图将调用其他进程(通过xmlrpc)来对作业进行排队,并查询作业状态。我在django中创建了几个合适的json视图来查询xmlrpc进程,并使用javascript异步调用这些视图(也称为Ajax)来更新html页面。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12677715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档