0
我正在使用scrapy從各種來源提取一些數據,它運作得非常好 但現在我寫了一個蜘蛛從大XML文件中提取數據(大約100MB => 40000項)。Scrapy蜘蛛不釋放項目內存
我正在使用scrapy XMLFeedSpider。
問題是scrapy正在使用大量內存(1GB或更多),我不知道它爲什麼不釋放我的項目使用的內存。
當我使用scrapy的trackrefs工具(與遠程登錄連接到我的蜘蛛)我得到以下的輸出:
>>> prefs()
Libxml2Document 2 oldest: 160s ago
CustomName 1 oldest: 163s ago
XmlResponse 1 oldest: 161s ago
XmlXPathSelector 1 oldest: 0s ago
Request 1 oldest: 163s ago
CustomName 38893 oldest: 150s ago
我已禁用所有的項目管道。
在我的蜘蛛我不保留任何物品的參考,我只是創建項目並返回它們。 我無法找到內存泄漏的位置...
有沒有解釋爲什麼我的項目沒有發佈?
Scrapy不會在內存中累積項目,並且它在執行時會被視爲一個錯誤,請檢查您的蜘蛛中間件以防萬一XMLFeedSpider返回的生成器被消耗到列表中。如果你能顯示你的項目代碼,它就簡單多了。 – dangra 2012-04-09 11:52:59