我正在学习有关 python 和 Django 的方法,但似乎找不到明确的文档来启动后台进程或线程以执行一些数据处理(包括从外部网站/url 提取信息)。
在哪里可以了解有关 Django 中后台进程/线程的更多信息?
我对演示跨多个站点/服务器/协议拉取和推送数据的教程特别感兴趣。
使用Celery,一个与 Django 配合得很好的任务队列。在您的视图中添加延迟任务,Celery 将在单独的进程中处理它。教程可在 Celery 主页上找到。
一旦您了解了如何创建任务并将任务添加到队列中,您就可以使用标准 Python 模块(如 urllib2)打开 URL,或使用其他专用模块来使用 REST API。
在任何情况下,您都不应尝试在视图函数中创建新线程或启动子进程。始终使用延迟任务管理。
您可以使用 Python 子进程(http://docs.python.org/library/subprocess.html:
subprocess.call(["ls", "-l"])