Python 并发请求:10 秒内完成 100 次请求 (50 次并发)
可以使用 'concurrent.futures' 库来实现并发请求。下面是一个使用 'concurrent.futures.ThreadPoolExecutor' 的示例代码,它可以在 10 秒内进行 100 次请求,其中 50 次是并发的。
import requests
import concurrent.futures
import time
def make_request(url):
response = requests.get(url)
return response.text
# 定义要请求的 URL
urls = ['https://example.com'] * 100
# 创建一个线程池执行器
executor = concurrent.futures.ThreadPoolExecutor(max_workers=50)
start_time = time.time()
# 提交任务到线程池
futures = [executor.submit(make_request, url) for url in urls]
# 等待所有任务完成
concurrent.futures.wait(futures)
end_time = time.time()
print('总耗时:', end_time - start_time)
在上面的代码中,我们使用 'concurrent.futures.ThreadPoolExecutor' 创建了一个最大线程数为 50 的线程池。然后,我们使用 'executor.submit' 方法将请求任务提交到线程池中进行执行。通过 'concurrent.futures.wait' 等待所有任务完成后,我们可以计算总耗时。
请注意,由于 GPT-3 模型的请求并发性受到限制,因此在请求 GPT-3 API 时,可能无法实现完全并发的 50 次请求。
原文地址: https://www.cveoy.top/t/topic/qxwC 著作权归作者所有。请勿转载和采集!