我需要启动长时间运行的进程来响应django中的表单提交。然后,我希望能够使用ajax进行轮询,并使视图以进程的状态(启动,停止或运行)进行响应。另外,我希望能够停止这个过程。django中长时间运行进程的全局状态
所以我的看法是这样的:
def start()
. . .
def stop()
. . .
def status()
. . .
这个特殊的问题已经对如此提及多次,但我的情况略有不同:我要寻找一个解决方案,完全是Python的,不需要在股票django中找不到任何东西,并且不需要使用数据库。
我发现的最接近的东西是this post。我已经实现了代码并精简了它,但事实证明request.session不是全局的(两个浏览器有不同的会话)。
这可能是我的问题可以通过使用request.session以外的其他东西来解决,以保存启动/停止/状态状态,但我不知道那会是什么。
我在阅读碰到另一种可能性是Django的中间件,但根据this,
__init __()被调用一次 - 在服务器启动 - 而不是单个 请求
还有一篇博客文章here谈论django中的全球国家。 有什么想法?
所以@jetxee发布什么的问题是,你希望任何人(无论谁开始了长时间运行的任务)都能够检查该任务的进度? – 2010-01-29 20:36:26
是的,这是完全正确的。 – g33kz0r 2010-01-29 20:57:04
如果你说“不需要在股票django中找不到任何东西”,然后说“不需要使用数据库”。由于Django与数据库耦合,你已经将大量的股票django带出了这个等式。关心启发我们为什么? – Spacedman 2011-10-22 10:41:42