2013-05-03 49 views
9

我有存儲在redis的一個大numpy的陣列。該數組充當索引。我想通過運行在gunicorn上的燒瓶應用程序通過HTTP提供過濾結果,並且我希望所有由gunicorn產生的工作人員都能訪問這個numpy數組。我不想去的Redis每次和反序列化存儲整個陣列,而不是在啓動時我想運行一些代碼,這是否和每一個分叉gunicorn的工人剛剛得到這個數組的一個副本。問題是,我無法找到如何使用gunicorn的服務器掛鉤的任何實例: http://docs.gunicorn.org/en/latest/configure.html#server-hooks 實現這一目標。 可能是服務器掛鉤不是正確的做法,有沒有其他人做過類似的事情?分享在gunicorn一個numpy的陣列處理

回答

3

創建監聽器服務器的一個實例,讓您的gunicorn子進程連接到該進程以獲取他們需要的任何數據作爲客戶端。通過這種方式,進程可以根據需要修改信息並從主進程請求它,而不是去Redis重新加載整個數據集。

此處瞭解詳情:Multiprocessing - 16.6.2.10. Listeners and Clients