Есть большой сервер с сайтом, на котором около 3000 пользователей постоянно.
На сайте есть пара услуг, которая пользуется популярностью и которая использует curl.
Сам принцип примитивен. Идет цикл, в котором с помощью curl загружаем несколько страниц, парсим и выводим результат на экран.
Бывают моменты, когда скрипт сам по себе останавливается в самом начале выполнения, без всяких причин, пересмотрел код раз 100, переписывал, переделывал узкие моменты, вроде от всего избавился, но все равно возникают исключения. Естественно отчет об ошибках отключен и неизвестно что выводит на экран. Исключение не критическое, но работу останавливает и часто пользователь просто не видит результат работы. Так же ставил перехват всех исключений, ничего хорошего из этого не вышло.
У себя локально все проверял - все работает без проблем, тестировал огромное количество раз.
Вопрос заключается в чем, в php есть ли какое - то ограничение на максимальное количество сессий curl в один момент?
Если нет, то в чем может быть проблема?
Спустя 6 минут, 57 секунд (14.08.2009 - 13:54) Oyeme написал(а):
Я парсил более 5 часов сайт..
И всё отлично.
Чему уделить внимания так
И всё отлично.
Чему уделить внимания так
PHP |
set_time_limit(0); |
Записиывай все ошибки в лог файл и найдёшь проблему.
Спустя 9 минут, 28 секунд (14.08.2009 - 14:04) Scat написал(а):
Спасибо за совет.
Такой вопрос, само выполнение curl происходит в классе.
А создание класса и вызов метода из другого файла. Изменение этих директив указывать в файле или классе?
Такой вопрос, само выполнение curl происходит в классе.
А создание класса и вызов метода из другого файла. Изменение этих директив указывать в файле или классе?
Спустя 38 минут, 9 секунд (14.08.2009 - 14:42) Oyeme написал(а):
Само создание класса - ты иммел введу "создания экзеспляра класса" ? И уже обращение к методам.
Приведи пример.
Приведи пример.
Спустя 46 минут, 19 секунд (14.08.2009 - 15:28) Scat написал(а):
да, создание экземпляра класса
PHP |
/*class*/ |
коротенький псевдопример, так и происходит
но обрывается где-то так, что видно $header, а $fotter с результатом не видно
Спустя 15 минут, 49 секунд (14.08.2009 - 15:44) Oyeme написал(а):
Цитата (Scat @ 14.08.2009 - 12:28) |
коротенький псевдопример, так и происходит но обрывается где-то так, что видно $header, а $fotter с результатом не видно |
Проверь парсинг.
Узнай почему он падает.
Я так понел у тебя работает цикл по странично ,так?Или любая другая страница в цикле.
PHP |
echo $header; |
проверяй
PHP |
echo $cl->Parser($cl->getPagebyCurl("http://ya.ru/{$}")); |
Он не может упасть не написав это в лог.
Спустя 16 минут, 50 секунд (14.08.2009 - 16:01) Scat написал(а):
Парсер работает 100% правильно, в логах не вижу ошибок по нему.
Страница одна, параметры на нее разные, 100% выдает всегда правильный результат, так же проработаны условия возврата результата на неверные параметры.
В логах нигде не увидел ошибок именно по парсеру или по curl.
Бывает даже как только начнешь цикл - сразу обрывается проверка, буквально через пару секунд, не успев подгрузить страницу и пропарсить результат.
Может быть вообще проблема в интернет канале сервера?
т.к. у меня локально все 100% работает без нареканий, пытался смоделировать подобное состояние сервера, когда куча пользователей, но ничего хорошего из этого не получилось. Все так же без проблем выдавал реультат
Страница одна, параметры на нее разные, 100% выдает всегда правильный результат, так же проработаны условия возврата результата на неверные параметры.
В логах нигде не увидел ошибок именно по парсеру или по curl.
Бывает даже как только начнешь цикл - сразу обрывается проверка, буквально через пару секунд, не успев подгрузить страницу и пропарсить результат.
Может быть вообще проблема в интернет канале сервера?
т.к. у меня локально все 100% работает без нареканий, пытался смоделировать подобное состояние сервера, когда куча пользователей, но ничего хорошего из этого не получилось. Все так же без проблем выдавал реультат
Спустя 7 минут, 26 секунд (14.08.2009 - 16:08) Oyeme написал(а):
Бывает такие загадки,незнаешь "почему" и "что".
Остаёться искать и догадываеться почему и "что ему мешает"
Остаёться искать и догадываеться почему и "что ему мешает"