scrapy SCRAPER_SLOT_MAX_ACTIVE_SIZE

 SCRAPER_SLOT_MAX_ACTIVE_SIZE

 

  • SCRAPER_SLOT_MAX_ACTIVE_SIZE:正在处理响应数据的软限制(以字节为单位),如果所有正在处理的响应的大小总和高于此值,Scrapy不会处理新的请求。

 

 

 这是 Scrapy 内存管理机制的一部分,用于:

  • 防止内存溢出
  • 控制并发请求数量
  • 优化资源使用

在实际应用中,这个机制可以帮助 Scrapy 在爬取大量网页时保持稳定的内存使用,避免因为内存耗尽而崩溃。

 


scrapy/core/scraper.py


self.active_size += max(len(response.body), self.MIN_RESPONSE_SIZE)

def needs_backout(self):
"""检测当前活跃大小是否超过最大限制,需要回退

当活跃大小超过最大限制时,需要回退以避免内存占用过大。

返回:
bool: 如果活跃大小超过最大限制返回True,否则返回False
"""
return self.active_size > self.max_active_size

 

posted @ 2022-11-10 09:59  AngDH  阅读(41)  评论(0)    收藏  举报