Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
列表中的Python EST API多线程_Python_Json_Multithreading_Api - Fatal编程技术网

列表中的Python EST API多线程

列表中的Python EST API多线程,python,json,multithreading,api,Python,Json,Multithreading,Api,我有一个Python列表,其中有大约380条记录需要发送到API,但单独发送很慢。我目前可以使用: payload_length = len(payload) for i in range(0, payload_length): send_contacts(payload[i]) 发送个人联系人,但不知道是否可以启动x个线程。我读过关于异步请求和grequests的文章,但我无法理解代码 如果有任何建议,我将不胜感激。我希望这将有助于某人从请求转移到grequests,因为这花费了我更

我有一个Python列表,其中有大约380条记录需要发送到API,但单独发送很慢。我目前可以使用:

payload_length = len(payload)
for i in range(0, payload_length):
    send_contacts(payload[i])
发送个人联系人,但不知道是否可以启动x个线程。我读过关于异步请求和grequests的文章,但我无法理解代码


如果有任何建议,我将不胜感激。

我希望这将有助于某人从请求转移到grequests,因为这花费了我更长的时间:

原始请求:

print ("Sending stuff requests...")
r =  requests.post(url='https://rest.api.com/v1/lists/12345/contacts', data=json_payload, headers={'Content-Type': 'application/json','Authorization' : 'Basic '+ api_string}, timeout=5)
print(json.loads(r.text))
我发现我可以手动输入URL,在我的“for u in URL”中,我实际上得到了一个json有效负载列表,这些负载一次被触发,而不是多个URL。我确信这仍然是非常糟糕的代码,但这是对我的问题的一个快速和黑客修复:

print ("Sending stuff grequests...")
rs = (grequests.post('https://rest.api.com/v1/lists/12345/contacts', data=u[1], headers={'Content-Type':'application/json', 'Authorization' : 'Basic '+ api_string}) for u in urls)
responses = grequests.map(rs)
for response in responses:
    print(json.loads(response.text))