2回答

0收藏

pyspider 阻塞问题

问答交流 问答交流 1883 人阅读 | 2 人回复 | 2020-03-27


启动任务后不久 dashboard 中 processor2resullt 就开始增加到100,然后前面的几个队列也会相继增加到100,所有爬虫都会停止工作。可能是任务过多的原因(由于一些网站响应时间较久,超时时间也设定得比较长),在增加任务队列长度和进行负载均衡后情况有所缓解,但仍然隔个一两周就会出现阻塞的情况。目前的想法是监听队列等队列快满时就停止调度,等队列中的任务爬完后,再添加新任务。不知道pyspider里有没有具体的方法可以实现。或者大佬们有没有更好的思路解决这个问题。

新接触pyspider,感觉还是scrapy好用呀,无奈公司要求
分享到:
回复

使用道具 举报

回答|共 2 个

loco

发表于 2020-3-27 10:31:51 | 显示全部楼层


你得先确定具体是什么问题导致的阻塞,而不是通过扩容、熔断类的方式解决,这样治标不治本...最好是看看队列中具体哪个请求长时间卡着没有被完成掉,然后针对性处理一下。
然后就是建议把不同网站给分开成多个队列,免得一个网站卡死所有的,而且这样找问题时也能快速定位到是哪个网站的问题。
回复

使用道具 举报

ace

发表于 2020-3-27 13:41:58 | 显示全部楼层

队列里比较长时间的请求是因为有的网站响应时间比较久,我为了爬得比较全设置timeout为10秒,分开不同队列确实比较合理,我去尝试下,多谢大佬指点
回复

使用道具 举报