用Django处理后台运行python脚本的好方法?

时间:2013-10-24 22:27:24

标签: python django celery

任务是在后台运行一个python脚本,并在提交请求后放置一个类似“你的脚本现在正在运行......稍后回复给你”的网页,然后在运行结束时下载结果页面。芹菜似乎是一个不错的选择,但这听起来有点过头了,因为只有一个脚本会在后端运行。 Django有一个简单的方法来处理它吗?感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用python subprocess内置模块。正确使用Popen对象,您可以启动一个进程,使用Popen.poll()查看它的运行状态,等待它以Popen.wait()结束,或者甚至与它通信或终止它。所以我猜你可以在Django / Python中设置一个变量,每次你为一个进程加注时设置为False,而当该变量为False时,你可以在网站上显示一个状态,一旦完成你就把变量设置为{{ 1}}并做你的事。