各位大佬,现在的需求是请求失败后,需要在 10 分钟后重新发请求。 既然 scrapy 是基于 twisted 的异步框架,那么如何使用 reactor 的 calllater 函数来发送一个延时的请求?是否有现成的机制,还是说要自己实现往 reactor 里面添加 request
1
ghd700 OP 还有一个关于 scrapy 的问题,yield 出去的 request 是怎么被处理的呢?
|
2
ghd700 OP 第一个问题已经解决了,使用 scrapy.utils.reactor.CallLaterOnce,稍微封装一下就可以实现
|
3
wuyue92tree 2019-03-23 08:53:58 +08:00
直接在 downloadmiddles 里面控制也可以吧,继承 retry,失败了就 sleep 再 return self._retry 对象
至于 requests 处理,yield 之后内部调度处理,到这个请求了,就按你设置的 middles 顺序执行 |