2008-12-12 49 views
1

我寫了一個Django應用程序,它利用Python線程來創建一個web蜘蛛,蜘蛛作爲一系列線程來檢查鏈接。mod_python上的螺紋代碼

當我使用django測試服務器(內置)運行此應用程序時,應用程序運行正常,線程似乎開始並按時停止。

但是,在Apache上運行應用程序似乎線程沒有開始運行(大約80秒後應該有排隊的數據庫更新,這些更改不會發生)。

有沒有人有一個想法,我在這裏失蹤?

- 編輯:我的問題是,Apache如何處理線程應用程序,即是否有限制可以從單個應用程序運行多少個線程?

任何幫助,將不勝感激!

+0

Django如何連接到Apache? mod_python的? mod_wsgi的?的mod_fastcgi? – 2008-12-12 22:25:11

回答

3

很可能,您錯過了新流程的創建。 Apache不會在單個進程中運行,但是不時會爲請求分配新進程(具體取決於dozen or so configuration parameters)。如果你在每個進程中運行django,他們將不共享內存,並且一個工作者產生的結果對其他任何人都是不可見的。另外,Apache進程可能會終止(空閒時或某段時間後),從而丟棄內存中的結果。