我正在试着做大约30万个POST请求。问题当然是性能。 因此,我从MySQL数据库获取数据,然后向其中一个API端点发送请求。 这就是我在一开始的想法,基本上是从数据库中获取所有的数据,然后逐行读取数据,每次获取数据行时,我都会发出POST请求。显然,拥有30万排需要很长时间。你知道吗
def post_request(payload):
r = requests.post(settings.api_host + "ppl.json", data=payload)
response_data = json.loads(r.text)
with open("./data/db.txt", "a") as f:
f.write(response_data + "\n\n")
for row in results:
data_json = {
"access_token": settings.access_token,
"name": row[0],
"age": row[1]
}
post_request(data_json)
所以为了加快这个过程,我试着做了如下的事情:
payloads = []
for row in results:
data_json = {
"access_token": settings.access_token,
"name": row[0],
"age": row[1]
}
payloads.append(data_json)
pool = multiprocessing.Pool(5)
pool.map(send_data, payloads)
def send_data(payload):
r = requests.post(settings.api_host + "ppl.json", data=payload)
response_data = json.loads(r.text)
with open("./data/db.txt", "a+") as f:
f.write(response_data + "\n\n")
这条路也很慢。。。
同样在以上两个例子中,我都进入了
requests.exceptions.SSLError: [Errno 1] _ssl.c:503: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
在大约1000个请求之后
有关于如何解决性能和SSL问题的解决方案吗?你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐