2015-04-06 107 views
1

我的django应用程序在nginx/uwsgi堆栈上运行。我的目标是启动一个独立于Web服务器运行的python脚本。通过在django上点击一个端点,它会触发一个非阻塞脚本。在网络服务器之外运行python脚本

我已经研究过使用python子/ POPEN - 我只是不知道,如果脚本仍然在Web服务器上还是不通过subprocess.Popen()

+0

你可以使用Twisted,但你必须用钩针库做一些巫术。这真的取决于你想要做什么。但是,如果您只是试图在不同的进程中运行脚本,则可以使用多处理。 –

+0

那么,你可以使用http://celery.readthedocs.org/en/latest/,很好地与Django集成。然后异步任务将运行后台,并将其潜在结果提交给后端。 –

回答

3

这正是Celery是运行。你应该使用它。

+0

因此,芹菜可以运行不会死的后台任务,即使服务django的uwsgi进程在死亡上运行也是如此。 –

+0

经过一些文档阅读 - 我没有意识到芹菜分别被守护,因此正是我所需要的。但是,当使用uwsgi时,我确实发现他们的Mules概念与芹菜相当。 –

相关问题