Сделал функцию с мультикурл, которая принимает массив линков, массив всегда не более 5 элементов. Функция возвращает тоталтайм затраченное на 5 линков. Если тоталтайм меньше 1.0, то я вычитаю тоталтайм из 1.0, и разность конвертирую в микросекунды и отправляю разность в usleep как int(т.е останавливаю скрипт на то кол-во микросекунд которых не хватило до целой секунды). После опять дергается мультикурл. Но местами всеравно ответ от реципиента с кодом 429.
Как можно выйти из такой ситуации кроме как отправлять повторно запрос если 429?
Виктор Янышев, тогда добавьте прокси, если источник открытый. Я думаю он все равно по заголовкам считывает.
если вы доработать свой код планируете, то поймите еще вот такой факт - между самым первым запросом первой серии, и первым второй серии не всегда 1 секунда. Я бы отправлял в слип на 1 секунду после всех запросов. Да медленней, но нет необходимости извращаться с поиском времени. проще прокси написать.