【发布时间】:2019-01-23 09:32:29
【问题描述】:
我用一个scrapy蜘蛛做消费者,还有一个生产者生产url不规则的放到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时,所有scrapy都暂停了,包括之前产生的请求。我认为它应该继续运行旧的请求,原因是什么以及如何解决它?请帮帮我
【问题讨论】: