我需要啓動長時間運行的進程來響應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