[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Обрыв во время выполнения парсера.
iliachou
Добрый день, подскажите пожалуйста решение.

Задача: есть сайт, задача забирать с него картинки и описания товаров, задача полностью легальна(заметил что некоторых почему то волнует этот вопрос). Есть скрипт, при помощи cURL гружу страницы, при помощи simple html dom обрабатываю. На сайте несколько категорий, часть категорий грузится и обрабатывается без ошибок. Но есть пара категорий при обработке которых скрипт просто обрывается, пробовал выводить данные в разных функциях, если способ вывода одинаковый то на проблемных категориях обрыв происходит в одном и том же месте. К примеру гружу категорию в которой у меня возникает ошибка и вывожу массив ссылок с каждой страницы этой категории, если вывожу весь массив - получаю обрыв на 110 ключе из 182 возможных, если вывожу только ключи на 132 обрыв.

Думал вначале что обрывает сервер по каким то причинам, однако есть категории равные по объему и и одна может работать а вторая нет.

в php.ini поставил выполнение скрипта - 3000 сек, 60 секунд обработки входных данных изменил на 6000, и лимит памяти 1280мб. что еще может мешать скрипту ? может быть какие то заморочки с cURL. но выполнение прерывается в таких местах где выполнение идет на моей стороне.

система ubuntu 11.04, сервер реализован на платформе xampp



Спустя 2 минуты, 26 секунд (13.04.2012 - 14:40) Игорь_Vasinsky написал(а):
во-первых сам SHD тяжеловат, попробуй на регулярках чисто выйти, во- вторых php-ini хорошо, но есть ещё time_limit(0) в php.

Ошибки как обрабатываешь?

Спустя 2 минуты, 8 секунд (13.04.2012 - 14:42) iliachou написал(а):
пока никак, вывожу. на регулярках будет оч трудно, опять же на определенных страницах он справляется с объемом более того, могу сказать что прерывается он почти вначале, т.е само выполнение скрипта доходит до 4 минут. time_limit - сейчас попробую

Спустя 2 минуты, 55 секунд (13.04.2012 - 14:45) Игорь_Vasinsky написал(а):
в том то и дело, либо скрипт встаёт тупо, либо он обламывается, можно после каждого этапа выводить мессадж "its all right!" , "OMG!!!"

Спустя 6 минут, 53 секунды (13.04.2012 - 14:52) iliachou написал(а):
так у меня он выходит на print_f - обламывается, поому что он даже переменную до конца не выводит. |Это может быть изза SHD ?
поэтому мне кажется что месседж не поможет, кстати если курлом не принтить страницу (код которой он выводит), тогда все часто заканчивается просто сообщение о сбросе соединения.

Спустя 12 минут, 26 секунд (13.04.2012 - 15:04) iliachou написал(а):
только что затестил на 7ой винде, здесь все круче - массив данных выводиться полностью, потом идут предупреждения связанные с тем что он не находит некоторые данные кот нет на 7ой винде, и в итоге он также рушится на, мозила выводит - соединение сброшено.

при этом домен на 7рке зовется test.local, после обрушения страницы в адресе вижу www.test.local - отказ сервера ??

логи апача - [Fri Apr 13 15:16:20 2012] [notice] child pid 2652 exit signal Segmentation fault (11)

Спустя 24 минуты, 8 секунд (13.04.2012 - 15:29) Игорь_Vasinsky написал(а):
Цитата
MaxRequestsPerChild 500
поставьте в конфиге Apache вместо 0, думаю где-то утечки памяти в скриптах приводят подобной проблеме

Спустя 12 минут, 29 секунд (13.04.2012 - 15:41) iliachou написал(а):
это в httpd.conf верно ? у меня их там дело в том что вообще не назначено.

Спустя 42 секунды (13.04.2012 - 15:42) Игорь_Vasinsky написал(а):

Спустя 1 минута, 7 секунд (13.04.2012 - 15:43) Игорь_Vasinsky написал(а):
не факт что поможет... как я говорил SHD жадный, регулярками нужно попробывать.

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

Спустя 11 минут, 36 секунд (13.04.2012 - 15:54) iliachou написал(а):
Добавил в оба файла и в httpd.conf and httpd.default.conf, также добавил keepalivetimeout 5000 вместо 5, ну это так ) на всякий пожарный. к сожалению абсолютно без изменений.

Ну я вот не пойму, есть у меня категория из 14 страниц и скрипт дохнет сразу после того как проходится по всем 14 на выводе массива, т.е вплоть до того что выводит ключ но не успевает вывести значение. А есть категория из 10 страниц, которая работает - там он выполняет все тоже самое, а потом еще успевает на каждой странице загрузить каждый товар и скопировать из него данные в базу - это в 2 -3 раза больше времени чем те 14 страниц и один и тот же алгоритм и он выполняется.

Спустя 5 минут, 55 секунд (13.04.2012 - 16:00) iliachou написал(а):
могу привести функцию в которой возникает падение

Спустя 4 минуты, 23 секунды (13.04.2012 - 16:05) iliachou написал(а):
скажите а вы используете какой либо вспомогательный софт для работы с сервером ? я про xampp или что то типа того ? или у вас вручную настроеная связка ?

Спустя 23 минуты (13.04.2012 - 16:28) iliachou написал(а):
Игорь_Vasinsky

Спасибо Вам за участие, убил 4ре часа времени, голова теперь в тумане, залил на хостинг в инете где связка настроена без всяких xampp и прочего и все работает. Проблема решена.

Спустя 2 дня, 13 часов, 11 минут, 29 секунд (16.04.2012 - 05:39) Игорь_Vasinsky написал(а):
wink.gif и такое бывает.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.