1
我能否以某種方式將響應對象從一個進程「移動」到另一個進程?在一個Python進程中接收HTTP請求,從另一個進程回覆
第一個進程是一個非阻塞服務器,它執行其他一些IO。它需要在像Tornado或Twisted這樣的非阻塞環境中完成。
需要使用PIL處理圖像時需要使用另一個進程(實際上是「工作者」進程池)。由於GIL,我無法在線程中執行此操作。然而,工作人員需要獲得響應對象的文件句柄以將結果寫入結果,或者它應該將結果返回給第一個進程,並且由於結果可能非常大(〜1 MB),所以不會似乎是一個好主意。 (這可能是一個獨立的進程池,而不是每個請求的分叉點 - 後者似乎是一個糟糕的策略)
因此,我可以以某種方式允許工作進程直接寫入響應?
也許我錯過了一些東西,但爲什麼不寫入實際的文件,並在響應處理程序中讀取?那麼你只需要傳遞給圖像處理器文件路徑。 – Tony 2012-07-09 11:16:09
從不同的線程/進程提供不同的請求開始到結束不是更自然嗎? – 2012-07-09 11:19:27
@NicolaMusatti因爲圖像處理似乎一直在阻止IO – 2012-07-09 11:27:43