跳转到主要内容

使请求的会话在失败时自动重试。

项目描述

配置传入的 requests’ Session,使其在因连接错误、超时、特定的HTTP响应代码(默认为5XX)和30X重定向失败时进行重试——任何可能失败的情况。

Python 3.6+。

基本用法

from retry_requests import retry
my_session = retry()
my_session.get("http://foo.bar")

get 在发生错误时会重试三次,并在重试之间等待一段时间。错误可能是

  • 等待服务器开始回答5秒。

  • 无法访问服务器或连接丢失。

  • HTTP响应码为500、502或504。

您可以更改这些默认值

from retry_requests import retry
from requests import Session
my_session = retry(Session(), retries=5, backoff_factor=0.2)
my_session.get('https://foo.bar')

查看 retry 函数以了解更多关于此配置的信息。

请注意,您有一个 TSession,这是一个具有默认超时的 Session,以及一个 RSession,这是一个在超时时始终抛出 raise_for_status()Session,以方便您使用。

深受 Peterbe.com 启发。谢谢!

安装

只需 pip install retry-requests

测试

克隆此项目,然后在项目根目录下运行 python setup.py test。请注意,您需要保持网络连接才能运行测试。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。

源代码分布

retry-requests-2.0.0.tar.gz (16.1 kB 查看散列值)

上传时间 源代码

构建分布

retry_requests-2.0.0-py3-none-any.whl (15.8 kB 查看散列值)

上传时间 Python 3

由以下支持