Scrapy中errback是否无论重试与否都会被调用?与RetryMiddleware交互疑问
Scrapy中errback与RetryMiddleware的交互疑问
《Scrapy官方文档》中说明:
请求的errback是一个在处理请求过程中发生异常时会被调用的函数。
那么errback函数与RetryMiddleware之间是如何交互的?无论请求是否被重试,errback方法都会被调用吗?
更新:
此前看到的一个回答仅指引查看Scrapy文档,并未解释errback的交互逻辑,未能完全解决疑问。不过文档的下一段内容如下:
如果[
process_request方法]抛出IgnoreRequest异常,已安装的下载器中间件的process_exception()方法会被调用。如果没有中间件处理该异常,则会调用请求的errback函数(Request.errback)。如果没有代码处理抛出的异常,该异常会被忽略且不记录日志(与其他异常不同)。
但这似乎有些令人困惑,因为这里描述的errback交互逻辑似乎仅适用于IgnoreRequest异常?
内容的提问来源于stack exchange,提问作者Jossy
相关产品推荐
相关产品推荐

