如何多处理Api发布请求

时间:2019-04-02 23:11:01

标签: python python-3.x multiprocessing

我成功地从csv文件中逐条发布了每条记录。但是,我正在尝试实现多重处理,以使将来处理大型数据文件的效率更高。

ENDPOINT_URL = 'https://example.com'
headers = {'Api-key': '123abc'}

with open("student.csv", "r") as csv_ledger:
    r = csv.DictReader(csv_ledger)
    data = [dict(d) for d in r ]
    groups = {}

    for k, g in groupby(data, lambda r: (r['name'])):
        #My data mapping

        #for loop to post each record
        post_api = requests.post(ENDPOINT_URL, json=groups, headers=headers)

是否有新的简便方法可以对api请求进行多处理?

更新:我尝试使用grequest,但我发布的数据为空

rs = (grequests.post(u,json=groups, headers=headers) for u in ENDPOINT_URL)
    grequests.map(rs)

    print(grequests.map(rs))

1 个答案:

答案 0 :(得分:0)

您可以使用5库。

id      before_d    after_d
2456    25          19
9702    6           11

注意:threading将使线程在完成工作后自动杀死自己。

更新:如果要传递关键字参数,请在此处检查:keyword arguments threading