Tôi muốn thời gian chờ mặc định dễ dàng được thêm vào một loạt mã (giả sử thời gian chờ đó giải quyết được vấn đề của bạn)
Đây là giải pháp mà tôi chọn được từ một vé được gửi đến kho lưu trữ Yêu cầu.
tín dụng: https://github.com/kennethreitz/requests/issues/2011#issuecomment-477784399
Giải pháp là vài dòng cuối cùng ở đây, nhưng tôi hiển thị nhiều mã hơn để có ngữ cảnh tốt hơn. Tôi muốn sử dụng một phiên để thử lại hành vi.
import requests
import functools
from requests.adapters import HTTPAdapter,Retry
def requests_retry_session(
retries=10,
backoff_factor=2,
status_forcelist=(500, 502, 503, 504),
session=None,
) -> requests.Session:
session = session or requests.Session()
retry = Retry(
total=retries,
read=retries,
connect=retries,
backoff_factor=backoff_factor,
status_forcelist=status_forcelist,
)
adapter = HTTPAdapter(max_retries=retry)
session.mount('http://', adapter)
session.mount('https://', adapter)
# set default timeout
for method in ('get', 'options', 'head', 'post', 'put', 'patch', 'delete'):
setattr(session, method, functools.partial(getattr(session, method), timeout=30))
return session
thì bạn có thể làm điều gì đó như sau:
requests_session = requests_retry_session()
r = requests_session.get(url=url,...