首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中,使用线程和requests库每秒进行大量rest api调用的最有效方式是什么?

在python中,使用线程和requests库每秒进行大量rest api调用的最有效方式是什么?
EN

Stack Overflow用户
提问于 2015-04-21 01:43:10
回答 1查看 2.2K关注 0票数 0

在python中,使用多线程/线程/ect和requests库每秒进行许多rest api调用的最有效方法是什么?

我看了很多关于线程的最好的,最简单的,或者最酷的方法的帖子,但我什么也找不到。如果有人幸运地使用了不同的库,我非常愿意改变我的方法。

当前设置:使用线程、请求、队列。我在CSV中阅读,并将其转换为字典列表。然后,我将所有内容放入队列中,并限制线程的数量,但我发现,在不处理超时的情况下,我的速度受到限制。

考虑:我不希望我的请求超时,这比速度更重要。

当前原型:

代码语言:javascript
复制
def create_account():
    while True:
        account = q.get()
        response = create_acct(account)
        print response['acct_no']
        log.append(response)
        q.task_done()

input_file = 'testaccounts.csv'
concurrent = 15
q = Queue(concurrent * 2)
for i in range(concurrent):
    t = Thread(target=create_account)
    t.daemon = True
    t.start()
try:
    for account in create_account_list:
        q.put(account)
    q.join()
except KeyboardInterrupt:
    sys.exit(1)
EN

回答 1

Stack Overflow用户

发布于 2015-04-21 01:48:07

使用gevent +请求,即grequests是一种可能的解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29754783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档