2015-05-08 94 views
5

因此,我有一個玩具django + gunicorn項目。 我想有一個統計模型,它只是一次加載到內存中,然後在worker/threads中重用。Django - gunicorn - 應用程序級變量(跨工作人員共享)

如何/在哪裏定義應用程序級別變量? 我試着把它放在settings.py上,也是在wsgi.py上

+0

那麼當你嘗試這個時發生了什麼? –

+0

該變量可以通過所有的應用程序加以處理,但每個工作人員有一個變量,而不是一個單一實例(單身人士) 任何提示? –

回答

0

我不認爲你可以(也不應該)。在運行任何代碼之前,工作人員是分離的進程。

您可以將「模型」(它是什麼使它變大?)放在Redis數據庫中,然後從每個工作人員那裏訪問它。最好的選擇可能是創建一個單獨的服務,其中您運行單個實例,並通過HTTP或RPC與您的工作人員進行通信(查看nameko獲得簡單(微)服務框架。

另一個選項將使用一個芹菜工作人員,並在一項任務中進行統計計算。