首页 > 解决方案 > 重试请求而不增加延迟但修复一个(例如:每 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-requestspython-3.6delay

解决方案


推荐阅读