我正在使用
requests_cache
以缓存我的Python HTTP请求。缓存过期后,如果用户离线,我不希望请求立即失败;我宁愿留出一些时间来请求缓存
尝试
以获取新结果,但如果不成功则使用缓存。参数
stale_if_error
成功地完成了此操作(没有错误),但它仍然会在屏幕上打印一条大的错误/警告消息:
import requests_cache
import time
from datetime import timedelta
session = requests_cache.CachedSession(
expire_after=timedelta(seconds=1),
stale_if_error=timedelta(minutes=5),
)
session.cache.clear()
response = session.get("https://httpbin.org/get")
print(response.from_cache, response.is_expired)
# turn off network here
time.sleep(10)
response = session.get("https://httpbin.org/get", timeout=5)
print(response.from_cache, response.is_expired)
False False
[...]
<big fat error message>
requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='httpbin.org', port=443): Read timed out. (read timeout=5)
[...]
True True
有没有办法抑制这种情绪?