python-requests - 重试请求而不增加延迟但修复一个(例如:每 30 秒)
问题描述
目前我的代码增加了每次重试之间的延迟:0s
, 2s
, 4s
, 8s
, 16s
... 但我想每 30 秒重试一次失败的请求(即使在第一次失败之后)。
看起来很简单,但我找不到办法做到这一点 requests.packages.urllib3.util.retry
import requests
from requests.packages.urllib3.util.retry import Retry
from requests.adapters import HTTPAdapter
url = "http://192.168.1.10/last_data.json"
s = requests.Session()
retries = Retry(total=15,
backoff_factor=1,
status_forcelist=[ 500, 502, 503, 504 ])
s.mount('http://', HTTPAdapter(max_retries=retries))
response = s.get(url)
我知道我可以使用 time.sleep(30),但这不是一个好习惯。
解决方案
推荐阅读
- python-3.x - python中是否有预定义的自定义索引数组?
- c# - ASP.NET Core MVC 如何使用 dropdownList 进行搜索
- python-3.x - Gunicorn“错误:无法识别的参数--log-file-”
- java - 如何禁用目录列表 Spring MVC 战争应用程序,部署在 IBM WAS 上?
- c++ - 如何通过引用传递向量的静态向量?
- unity3d - 在编辑器模式下从 Gameobject 获取 Prefab
- node.js - 无法在 Windows 10 上安装 create-react-app
- jupyter-notebook - 下载 jupyter notebook 时未显示编号列表
- python - 如何捕获 websocket 502 异常
- node.js - Ebay oauth“输入请求参数无效。” 获得用户同意