urllib2
我的 Python 应用程序使用该模块发出大量 HTTP 请求。此应用程序可能用于非常不可靠的网络,其中延迟可能很低,丢包和网络超时可能很常见。是否可以覆盖模块的一部分,urllib2
以便在引发任何异常之前重试每个请求 X 次?有没有人见过这样的东西?
我可以在不修改我的整个应用程序并且只在urllib2
模块上创建一个包装器的情况下实现这一点吗?因此,任何使用此模块的代码生成请求都会自动使用重试功能。
谢谢。
这个问题有一些可能会有所帮助的答案:有没有一种pythonic方法可以尝试最多次数?
修改库的某些部分绝不是一个好主意。
您可以围绕用于获取可提供所需行为的数据的方法编写包装器。这将是微不足道的。
例如,您可以在自己的名为 myurllib2 的模块中定义与 urllib2 中名称相同的方法。然后只需在使用 urllib2 的任何地方更改导入