2014-03-19 85 views
0

我已經搜索論壇的我的問題,但即時通訊要麼尋找一個事情命名錯誤或問題很難,我真的懷疑。服務器端python代碼連續運行每會話

我正在開發一個Web應用程序,它將有一個Web界面寫在MVC框架之一,如Django甚至燒瓶,並允許用戶登錄,將確定用戶會話,並允許進行一些設置,也是我的應用程序需要在每個會話每個設置的用戶基礎上運行一些python進程(基本上是一個單獨文件的腳本)。這個過程相當長 - 甚至可能需要幾天時間才能完成,並且不應該影響應用程序的MVC部分的執行和性能。另一個問題是,這個過程應該爲每個用戶運行,因此這種應用程序的基本使用模型是: 1.用戶進入網站。 2.用戶進行一些鏡像到數據庫的設置。 3.用戶按下啓動按鈕,執行一些python腳本,僅僅爲這個用戶提供他所做的設置。 4.用戶能夠根據腳本自身生成的一些消息來監視正在運行的腳本的一些參數。

我的確明白我的問題與應用程序本身的架構有關,而且我對python還很陌生,並且沒有任何開發這種複雜應用程序的經驗,但我也非常渴望瞭解它。我理解我的應用程序應該建立的磚塊(如django或flask以及服務器端腳本本身),但我對如何將這些元素粘合在一起以創建無縫環境知之甚少。請指導我閱讀與本主題相關的一些文章,或者推薦一些類似的主題,或者給出一個清晰的高級解釋,說明如何從MVC的控制器部分基於每個用戶觸發,運行和進一步監控這些單獨的python進程。

回答

0

Celery是您完美的解決方案。

芹菜可以很容易地運行長時間的任務,但你必須寫監控部分。很簡單 - 你可以在芹菜任務中使用django-orm。

不要使用django芹菜或燒瓶芹菜applicattion - 它們已被棄用。

0

芹菜是一個很好的解決方案,但它可以被許多設置強制。如果你只需要定期運行任務(每小時一次,每天一次等),那麼就考慮使用cron。

有很多設置,它可以讓你很遠。