爬虫日记(86):Scrapy的Scheduler类(一)

前面学习过了引擎类,明白整个引擎的工作过程,在引擎里要调用调度管理类,这样才能够把请求下载进行去重,或者优先下载等功能实现。现在我们就来分析这个类的实现,以便完全理解调度管理类的相关细节。

这个类的创建过程如下图:

爬虫日记(86):Scrapy的Scheduler类(一)

要创建调度管理类,它需要从默认设置参数里获得类的名称:

SCHEDULER = 'scrapy.core.scheduler.Scheduler'

然后根据这个参数名称,就可以从目录里找到对应的python包,再找到对应的调度类Scheduler,最后就可以通过上面的语句进行构造,创建Scheduler类对象scheduler。接着下来就是调用Scheduler类的函数open,就完成调度类的初始化工作。

首先来分析from_crawler函数,它的代码如下:

上一篇:基于K8s调度器实现自定义调度


下一篇:基于hadoop_yarn的资源隔离配置