Py学习  »  Redis

被redis阻塞的碎片

çµç¿¼ä¿ • 4 年前 • 756 次点击  

我用一只小蜘蛛做消费者,还有一个生产者不定期地生成网址并放到redis中,我的代码如下:

def start_requests(self): 
    for msg in self.redis_sub.listen():
        data = json.loads(msg['data'].decode('utf-8'))
        id = data['id']
        styleUrl = data['styleUrl']
        pageCount = data['pageCount']
        self.obi.public(json.dumps({'id': id, 'isSynchronized': 1}))
        yield SplashRequest(url=styleUrl, callback=self.specHome_parse,
                                args={'wait': 5, 'timeout': 60, 'images': 0},
                                meta={'pageCount': pageCount, 'id': id, 'dont_redirect': True})

代码可以正常地接收url,但是当它在第二行被阻塞以等待url时,all-scrapy暂停,包括之前产生的请求。我想它应该继续运行旧的重新队列,什么原因和如何解决它?请帮帮我

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50018
 
756 次点击  
文章 [ 2 ]  |  最新文章 4 年前