def distribute(self):
        if self.status == self.STATUS_STOP:
            return
        request = self.scheduler.next_request()
        if request:
            if 'follow_cookiejar' in request.meta:
                node_info = self.cluster_manager.cluster_info.get_node_by_name(request.node_name)
                try:
                    self.distribute_node_list.remove(node_info)
                except:
                    pass
            else:
                if not self.distribute_node_list:
                    self.distribute_node_list = list(self.cluster_manager.cluster_info.node_list)
                node_info = self.distribute_node_list.pop()
            self.cluster_manager.node_manager.send_request_to_client(request, node_info)
            self.running_spider_dict[request.spider_name].log_distributed_request(request, node_info)
        reactor.callLater(0, self)
dataset/ETHPy150Open wcong/ants/ants/crawl/crawl.py/CrawlServer.distribute/original