在_next_request方法中，引擎从调度器中不断pop出Request对象并拿去下载，直到下载器并发数饱和或待爬队列为空，退出循坏【while not self._needs_backout(spider)】。但是_next_request的下次执行是什么时候呢？该方法的执行通过slot.nextcall.schedule，前面提到它每隔5秒会执行一次，这属于被动的执行。另外，下载完成之后的回调函数中，会调用该方法，还有就是在start_requests中的请求被压入调度器后，会调用一次，这都属于主动的执行。