這與Configure Apache to recover from mod_python errors有關,儘管我已經停止假設這與mod_python有關。從本質上講,我有一個問題,我無法一直重現,我想獲得一些關於是否可能提出解決方案的反饋意見,以及嘗試重現此問題的一些潛在方法。測試python/django中的神祕加載錯誤
設置:django支持的站點在使用幾天後會開始拋出錯誤。它們始終是ImportError
s或ImproperlyConfigured
錯誤,這相當於同樣的事情,因爲消息始終指定加載某些在settings.py文件中引用的模塊的問題。這通常不是同一班。我正在使用帶8個分叉子的preforked apache,每當這個問題出現時,一個進程會被中斷,七個會被罰。一旦中斷,每次請求(在apache conf中都帶有Debug On),每次請求都會顯示相同的跟蹤,即使負載失敗與特定請求無關。在短期內,httpd restart
總是讓問題消失。
注意到的問題:安裝和更新通過svn與一些更新後的腳本執行。幾個.pyc
文件意外地被檢入到存儲庫中。另外,項目本身是由一個用戶擁有的(不是apache,儘管apache對這個項目有權限),並且有一個持久性插件,最終以root身份進行後臺操作。我將這些問題稱爲這些問題,因爲我是否注意到這個錯誤是錯誤的,因此我修復了它們。該項目由apache擁有,該插件作爲apache背景。所有.pyc
文件都不在存儲庫中,並且在服務器和插件停止運行時,每次簽出後都會強制重新編譯這些文件。
我想知道的是
- 做這些配置的災難似乎是零星
ImportError
個可能的解釋? - 如果有是在我的代碼中還有其他問題,我該如何最好地重現它?
至於2,我到目前爲止的方法是編寫一些壓力測試,重複請求同一頁面以執行通用代碼路徑。
順便說一下,自修復以來,這已經運行了大約2天,但問題發生時間爲1到10天。
謝謝!很高興知道這是一個常見問題。另外,感謝最後一塊示例代碼。我已經開始與django的測試客戶端做類似的事情,但是如果我繞過傳輸層,它意識到這並不是一個廣泛的測試。 – 2009-06-11 14:55:32