2009-05-27 39 views
0

我有一個網頁,它與幾個外部API交互,併爲了加快速度(速度增加幾乎是線性的,因爲大部分時間都花在等待http響應等),代碼是線程化的,因此它一次從多個API中提取內容。django數據庫鎖定問題

問題是,我正在運行數據庫鎖定,可能是因爲來自apis的數據正在被多個線程同時寫入數據庫。

我能做些什麼來消除這個問題?

PS - 請不要建議按順序進行api調用......當多個用戶同時導入數據時,會出現同樣的問題,除非沒有線程,否則每個人都會變慢。我們正在談論15秒和幾分鐘之間的差異。

+0

您使用的數據庫是?什麼包裝? – 2009-05-27 14:31:27

+0

以及我已經在我的開發機器上確認了sqlite3上的問題,並且由於我看到相同的行爲(數據庫沒有更新),我高度懷疑mysql在開發服務器上的問題。 – Jiaaro 2009-05-27 15:08:05

回答

3

絕對不要試用SQLite:它的主要弱點是併發性。

如果MySQL顯示相同的問題,那麼您應該收集所有的數據,然後從單個線程寫入。