【发布时间】:2023-03-21 08:58:01
【问题描述】:
我正在尝试对 POST 方法进行一次 REST API 调用。
将有大约 500 多个来自不同主机的同一端点调用。
导致503错误,因此我尝试使用requests模块的Retry功能实现重试机制。
即使在实现重试功能后仍然会遇到同样的错误。
代码sn-p如下:
import requests
requests.packages.urllib3.disable_warnings()
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
import json
s = requests.Session()
retries = Retry(total=3, backoff_factor=0.3, status_forcelist=[502, 503, 504],
method_whitelist=frozenset(['GET', 'POST']))
s.mount('https//', HTTPAdapter(max_retries=retries))
s.mount('http//', HTTPAdapter(max_retries=retries))
response = s.post(url, json=json_payload, headers=headers)
仍然出现 503 错误。
已经浏览过相同问题模式的先前答案,但我没有找到有关此的更多信息。
注意:这里的脚本是同时从 525 个主机执行的,所以大约 500 多个主机会尝试触发对 url(内部 url)的调用,所以这里 350 个主机我得到了正确的 200 响应,其他最终在 503错误。
如果我在这里遗漏了什么,请纠正我,感谢任何帮助。
【问题讨论】:
标签: python python-2.7 python-requests