我有一个到API的循环中的请求,但我想优化执行速度并切换到发送批量请求
API中有分页,我们从中每页下载25条记录,这正是批量操作中的限制,您还可以在一个批量操作中发送多达25条单个请求
最后一页示例:
{
'count':'273',
'pages':11,
'page':11,
'list':[
{'product_id':'18391',
'producer_id':'3257',
'stock':{
'stock': '0'
}
},
{'product_id':'18392',
'producer_id':'3257',
'stock':{
'stock': '0'
}}
]
}
循环中有用于发送数据的代码:
data = {
"stock": {
"stock": "0"
}
}
y = 0
for page in get_jobs():
try:
print(page)
for off in json.loads(turnoff_product_request.text)['list']:
code = page['list'][y]['product_id'].replace('"', '')
api_url = "https://example.com/webapi/rest/products/%s" % code
add_product = requests.request("PUT", api_url, headers=headers, json=data)
y += 1
time.sleep(1)
y = 0
except Exception:
print(Exception)
pass
现在是如何使用批量请求的示例%代码-必须根据产品id动态插入:
[
{
"id": "doesnt matter id, can be every 1 or something",
"path": "/webapi/rest/products/%s" % code,
"method": "PUT",
"body": {
"stock": {
"stock": "0"
}
}
},
{
"id": "doesnt matter id, can be every 1 or something",
"path": "/webapi/rest/products/%s" % code,
"method": "PUT",
"body": {
"stock": {
"stock": "0"
}
}
},
]
我不知道如何将这些产品分组,第1-10页有25个项目,最后一页可能包含较少的产品
目前没有回答
相关问题 更多 >
编程相关推荐