2015-04-06 69 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概念與芹菜相當。 –

相關問題