Задать вопрос
@GregIv

Какие существуют подходы для парсинга больших данных?

Какие существуют подходы для парсинга больших данных?
Добрый день!
В настройках php да и сервера есть множество настроек, которые не позволяют выполниться скрипту парсинга больших данных за один раз.
Какие существуют способы обойти это?

Я знаю способ с редиректом.
Выполняется парсинг n-го кол-ва строк, после этого происходит редирект на эту же страницу и парсятся следующие n строк.

Какие еще варианты могут быть?
Также интересно для консольных скриптов….
  • Вопрос задан
  • 680 просмотров
Подписаться 1 Оценить Комментировать
Ответ пользователя Сергей Соколов К ответам на вопрос (3)
sergiks
@sergiks Куратор тега PHP
♬♬
Поможет очередь задач (task queue).

Надо принимать задание, ставить его в очередь и отдавать ответ типа «принято. номер задания ZZZ» – это выполняется практически мгновенно. Затем нужно узнавать, «готово ли задание ZZZ?» – например, ajax'ом раз в пару секунд опрашивать сервер.

Выполняются задания в один или несколько потоков, на этом или другом сервере, «рабочим» процессом. Запускается рабочий процесс не под веб-сервером, а из командной строки и не имеет ограничений на время выполнения. Процесс либо висит постоянно и ждёт поступления задач, либо запускается по крону раз в N минут (и выполняется в случае если нет другого запущенного процесса с предыдущего раза).

Например, во фреймворке Laravel (и облегченной его версии Lumen) очень хорошая реализация очереди задач из коробки.
Ответ написан
Комментировать