99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

scrapy 2.3 內(nèi)存泄漏的常見原因

2021-06-17 11:14 更新

Scrapy開發(fā)人員傳遞請求中引用的對象(例如,使用 ?cb_kwargs? 或 ?meta? 屬性或請求回調(diào)函數(shù)),它有效地將這些引用對象的生存期限制為請求的生存期。到目前為止,這是導(dǎo)致零碎項目內(nèi)存泄漏的最常見原因,對于新手來說,這是一個很難調(diào)試的原因。

在大型項目中,蜘蛛通常是由不同的人編寫的,其中一些蜘蛛可能會“泄漏”,從而在其他(寫得好的)蜘蛛同時運行時影響其他蜘蛛,而這反過來又會影響整個爬行過程。

如果您沒有正確地釋放(以前分配的)資源,那么泄漏也可能來自您編寫的定制中間件、管道或擴展。例如,在上分配資源 ?spider_opened? 但不釋放它們 ?spider_closed? 如果你跑步,可能會引起問題 multiple spiders per process .

請求太多?

默認情況下,scrapy將請求隊列保存在內(nèi)存中;它包括 ?Request? 對象和請求屬性中引用的所有對象(例如 ?cb_kwargs? 和 ?meta? )雖然不一定是泄漏,但這可能會占用大量內(nèi)存。有可能 persistent job queue 有助于控制內(nèi)存使用。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號