Когда у меня есть куча URL для обработки, я использую Typhoeus и Hydra .Hydra позволяет легко обрабатывать несколько запросов одновременно.Проверьте times.rb
пример для начальной точки.
Еще одна вещь, на которую стоит обратить внимание, это случай уменьшения отдачи, когда вы увеличиваете количество одновременных соединений.Вы можете достичь точки, когда ваша пропускная способность не увеличивается, когда вы добавляете больше потоков, поэтому рекомендуется попробовать небольшое количество одновременных подключений, а затем начать увеличивать ограничение, пока вы не увидите, что ваша пропускная способность больше не улучшается.
Я бы также рекомендовал использовать базу данных для отслеживания очереди файлов.Вы нажимаете на другой сервер, чтобы получить эти файлы, и вам нужно начинать с начала прогона и снова получать те же файлы, что является большой тратой времени и ресурсов для вас и любого, кто их обслуживает.В начале работы запустите базу данных и найдите все файлы, которые не были извлечены, возьмите их и установите их флаг «загружен».Если вы запускаете и все файлы были загружены, вы знаете, что предыдущий запуск был успешным, поэтому очистите их все и запустите с самого начала списка.Вам нужно будет потратить некоторое время, чтобы выяснить, что должно быть в такой базе данных, но, если ваши потребности возрастут, ваше время выполнения увеличится, и вы столкнетесь со временем, которое вы выполняли большую часть дня, иотключение питания или сбой системы.Вы не хотите начинать с самого начала в этой точке.Скорость использования базы данных не снижается по сравнению с медленной передачей файлов через Интернет.