@ree4i

JQuery счетчик при php-парсинге в базу данных?

Посоветуйте. Пишу парсер сайта с большим кол-вом страниц, парсер работает ровно.
Хочу сделать какой-то визуальный счетчик, т.е. что бы он отображал кол-во пройденных страниц.
Вот думаю сделать через цикл - т.е. в цикле посылаю ажакс-запросы и получая ответ - обновляю некий div с циферкой.
Когда страницы кончаются (пхп-парсер может это понять) - отдаю ответ для выполнения условия.

Покритикуйте мысль плиз. С JS работал мало, может ни туда думаю.
  • Вопрос задан
  • 225 просмотров
Решения вопроса 1
65536
@65536
можно в каждой итерации парсера сохранять в какой-то файл текущий прогресс. аяксом стучаться на отдельный скрипт который будет считывать этот файл и возвращать значение в браузер. главное в этом отдельном скрипте не использовать пхпшный механизм сессий, если он используется в парсере. иначе он встанет в очередь до окончания работы парсера
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@AlikDex
Для себя выработал такую схему:
1 проход, парсим все пагинашки на предмет постов, урлы в базу, мускула с названием и статусом. Обычно формат урла постов статичный и не меняется. Поэтому так. Что дает: ну во первых знаешь сколько парсить нужно страниц, а во вторых можно использовать счетчики.
Далее, делаем крон, который независимо работает в 1 поток или в несколько (курл) дергая с базы урл поста и выставляя статусы по ходу обработки. И второй скрипт, который отображает статистику (сколько осталось, сколько в очереди, сколько в работе и какие, со ссылками. Ошибки и прочее в процентах и просто числах)
По началу делал прогресс бар на жквери, аяксом делал выборку количества страниц для парсинга и уже спаршенных. Но сейчас убрал это, ибо пофиг ) раз в день посмотришь как идет процесс и все. Если 10 подряд ошибок - оповещение на почту и стоп скрипт.
Вот.
Ответ написан
akubintsev
@akubintsev
Опытный backend разработчик
Я экспериментировал в свое время с websockets для такого дела https://github.com/kryoz/homer
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы