W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
Scrapy開(kāi)發(fā)人員傳遞請(qǐng)求中引用的對(duì)象(例如,使用 ?cb_kwargs
? 或 ?meta
? 屬性或請(qǐng)求回調(diào)函數(shù)),它有效地將這些引用對(duì)象的生存期限制為請(qǐng)求的生存期。到目前為止,這是導(dǎo)致零碎項(xiàng)目?jī)?nèi)存泄漏的最常見(jiàn)原因,對(duì)于新手來(lái)說(shuō),這是一個(gè)很難調(diào)試的原因。
在大型項(xiàng)目中,蜘蛛通常是由不同的人編寫(xiě)的,其中一些蜘蛛可能會(huì)“泄漏”,從而在其他(寫(xiě)得好的)蜘蛛同時(shí)運(yùn)行時(shí)影響其他蜘蛛,而這反過(guò)來(lái)又會(huì)影響整個(gè)爬行過(guò)程。
如果您沒(méi)有正確地釋放(以前分配的)資源,那么泄漏也可能來(lái)自您編寫(xiě)的定制中間件、管道或擴(kuò)展。例如,在上分配資源 ?spider_opened
? 但不釋放它們 ?spider_closed
? 如果你跑步,可能會(huì)引起問(wèn)題 multiple spiders per process .
默認(rèn)情況下,scrapy將請(qǐng)求隊(duì)列保存在內(nèi)存中;它包括 ?Request
? 對(duì)象和請(qǐng)求屬性中引用的所有對(duì)象(例如 ?cb_kwargs
? 和 ?meta
? )雖然不一定是泄漏,但這可能會(huì)占用大量?jī)?nèi)存。有可能 persistent job queue 有助于控制內(nèi)存使用。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: