Python параллельно получает разбитые на страницы данные из REST API

#python-3.x #python-requests

#python-3.x #python-запросы

Вопрос:

Я хочу получить 1 миллион записей из одного URL REST API с разбиением на страницы. Каждая страница может получить до 100 тыс. записей примерно за 1 минуту. Я хочу сделать 10 запросов на публикацию одновременно, чтобы я мог получить все 1 миллион записей за 1 минуту. Я использовал библиотеку запросов ThreadPoolExecutor для одновременного подключения и получения данных, но получение данных занимает очень много времени.

Мое понимание aiohttp или grequests заключается в том, что они вызывают REST API асинхронно из одного потока и получают данные, ожидая, пока другие установят сетевые подключения.

Пример кода

 def post_request(page_number):
    response = requests.post(url, data = data, fetchPageNumber:page_number)
    # logic to convert response.text pandas df and write to RDBMS

with concurrent.futures.ThreadPoolExecutor(10) as executor:
    parallel_response = executor.map(post_requst, list(1,11)
  

Пожалуйста, дайте мне знать, каков наилучший способ параллельного получения данных с разбивкой на страницы.

Комментарии:

1. Я в ужасе от того, как люди могут проголосовать за такой запутанный вопрос, который показывает пробелы в понимании во многих измерениях. Для придания смысла этому требуется гораздо больше внимания