@
imn1 #9
1. FailureException 其实就是在 catch exception 的时候不抛错, 让它 Return 回来方便自省和排查, FailureException.error 实际就是原始抛出的错误
另一方面 FailureException 主要作用就是存放了 request 的 kwargs, 方便回调的时候用上
超时根据不同的依赖不一定是什么 error, 需要根据依赖来判断, aiohttp 或者 requests 里面都有很多细分, 超时也是区分了读超时和连接超时的, 所以得自己去他们源码里看看, 比如 requests.exceptions 里的 Timeout ConnectTimeout ReadTimeout, aiohttp 里面更复杂
因此, 这里面的重试的涵盖范围默认是 aiohttp 和 requests 里面的请求错误的基类, 避免 handle 一些非请求类错误 (早年间因为 handle 了 KeyboardInterrupt 导致我一个十万请求的脚本差点停不下来...
2. 没看懂自定义 Headers 是什么需求, 有个例子么. 可重用 Session 是默认的, tPool Requests 类都是只用一个 Client Session
3. 代码一开始是刚上班时候自己边学边折腾的, 实际没什么有价值的地方, 不如自己现写一个 wrapper...