我想知道遵循的最佳實踐,以便在Python中的兩個進程之間共享隊列(資源)。這裏是一個什麼每道工序都做:在兩個進程之間共享資源
Process_1:不斷地從一個流API
Process_2獲取數據(JSON格式):是一個守護進程(類似桑德馬雷夏爾的code),它提交數據(一次一個)到數據庫
所以,Process_1(或監製)把數據的一個單元到該共享資源,以及Process_2(或消費者)將輪詢任何新的單元本共享資源如果有的話,將它們存儲在數據庫中。
有它來到我的腦海一些選項:
- 使用泡菜(缺點:酸洗的額外開銷和去酸洗)
- 傳遞的數據通過Process_1 的
stdout
到Process_2的stdin
(缺點:none,但不知道如何通過守護進程來實現) - 在
multiprocessing
庫中使用pool
對象(缺點:不確定如何對其進行編碼,因爲一個進程是守護進程)
我想在這方面實踐一個最佳的解決方案,用一些代碼:)。謝謝。
lvc:感謝您的建議。沒有一個過程產生另一個過程。它們是獨立創建的。 – ajmartin 2011-06-02 08:43:27