Перезапуск апача (Parent: child process exited with status 255 -- Restarting)

WBS

Новичок
Перезапуск апача (Parent: child process exited with status 255 -- Restarting)

Необходимо, чтобы несколько копий скрипта job.php работали неограниченно долгое время.
Из скрипта start.php я запускаю 20 копий job.php (этакая реализация многопоточности):

Код:
for ($i=1; $i<=20; $i++) {
  $pointer = fsockopen("localhost", 80);
  stream_set_timeout($pointer, 0);
  fputs($pointer, "GET /job.php?proc_id={$i} HTTP/1.1\r\nHost: localhost\r\n\r\n");
  fread($pointer, 1000);
  fclose($pointer);
}
В job.php имеется бесконечный цикл, который можно прервать извне (изменив некоторое значение в БД), завершив работу скрипта. В цикле используется MySQL и CURL (скрипт открывает HTML-страницы и заносит нужную информацию в БД).

Скрипты работают несколько часов, пока не упадет апач с записью в логах:
[notice] Parent: child process exited with status 255 -- Restarting.

Было подозрение на утечку памяти. Попробовал из цикла перезапускать поток (скрипт), завершая работу текущего. Не помогло, апач опять упал. В чем может быть проблема?

Конфигурация системы:
Windows 7 (x64)
Apache 2.2.14
PHP 5.3.1
MySQL 5.1.42 (x64)
 

Dovg

Продвинутый новичок
Из скрипта start.php я запускаю 20 копий job.php (этакая реализация многопоточности):
А зачем это делать так извращенно?

есть ведь pcntl-fork или system на худой конец.
 

WBS

Новичок
Автор оригинала: Dovg
А зачем это делать так извращенно?
есть ведь pcntl-fork или system на худой конец.
pcntl-fork я никогда не использовал, но насколько я понимаю, мой вариант более универсален: работает в Win + будет работать у любого хостера.
Вы думаете, что проблема именно в реализации многопоточности?

Автор оригинала: dimagolov
многопоточность... на win... не смешно
Тут, действительно, нет ничего смешного. Если Вы хотели посмеяться, то Вы ошиблись сайтом.

Автор оригинала: dimagolov
воруем контент?
Нет, с чего Вы взяли?

По теме топика...
Подобная проблема в WinXP не наблюдается. Т.е. возможно дело в Windows 7. Но пока не могу понять, в чем именно заключается проблема.
 

WBS

Новичок
Автор оригинала: dimagolov
поясните что за страницы и что за информация
Это не имеет никакого отношения к теме топика...

Существует огромное количество специфических задач, которые решаются по описанной мной схеме (открываем страницу => сохраняем нужную информацию). У меня таких задач несколько, например
- сбор позиций страниц сайтов в поисковике по большому списку ключевиков,
- проверка сайтов на работоспособность,
- и т.д.

Многие другие задачи:
- составление карты сайта,
- скачивание и анализ страниц конкурентов,
- сбор и анализ бэков сайта,
- авторегистраторы и-мейлов и фрихостов,
- авторегистраторы в каталогах.
как и все мои, не имеют никакого отношения к сохранению текстового содержания (контента). Но даже те задачи, которые предполагают скачивание и сохранение контента, зачастую не имеют никакого отношения к воровству.

Например:
- многочисленные спайдеры поисковиков,
- RSS-ридеры,
- другие программы-агрегаторы.

Вот я и удивляюсь, почему вместо того, чтобы высказаться по теме (и помочь решить проблему), Вы решили затронуть тему воровства контента :).

-~{}~ 07.03.10 21:00:

На данный момент попробовал следующее...

1. Установил новую версию PHP 5.3.2.

2. Добавлял строки
EnableSendfile Off
EnableMMAP Off
Win32DisableAcceptEx
в соответствии с рекомендацией на оф. сайте Апача.

3. Добавил функцию mysql_free_result() после использования каждого запроса "SELECT" к БД.

4. Установил новую версию Apache 2.2.15.

Пока ничего не помогло.

Удалось почерпнуть немного новой информации из журнала событий Windows. За секунду до перезапуска Apache в журнал заносится ошибка.
Имя сбойного приложения: httpd.exe, версия: 2.2.15.0.
Имя сбойного модуля: php_curl.dll, версия: 5.3.2.0.

Все еще требуется помощь в решении проблемы. Хотя бы какие-то новые идеи...
 

dimagolov

Новичок
Это не имеет никакого отношения к теме топика...
зато имеет отношение к правилам форума. я их уважаю и не желаю нарушать, потому и интересуюсь.

-~{}~ 07.03.10 14:31:

строго по теме. отлаживайте, выясняйте почему вылетает curl, причем так жестоко.
 

marker

Новичок
абсолютно идентичная проблема!!!
перезапуск и все тут!

насчет воровства - что за бред! - разве сбор титлов, к примеру, это нарушение?
или PR и тИЦ... - короче завязывайте говорить не по теме!

а кто сталкивался помогите!

тестировал сбор статистики на VPS - но там банально зашкаливал kmemsize,
затем перенёс сбор на личную машину - тут собственно и столкнулся с падением апача.

товарищи! надо решать :)
 

tz-lom

Продвинутый новичок
скорее всего апач радостно балдеет от факта что он генерит страницу уже несколько часов
почему бы не рекурсивно себя вызывать?зачем было такое извращение городить
 

marker

Новичок
Автор оригинала: tz-lom
скорее всего апач радостно балдеет от факта что он генерит страницу уже несколько часов
почему бы не рекурсивно себя вызывать?зачем было такое извращение городить
какую такую страницу он генерит? о чем вы говорите?
выполняется скрипт - без браузера.
 

fixxxer

К.О.
Партнер клуба
>>столкнулся с падением апача
>>выполняется скрипт - без браузер
ты уж определись
 

FB3

Новичок
marker
так запускай 20 копий из консоли, а не http запросом на localhost
тогда как минимум мимо апача все будет проходить и max_execution_time никак не будет влиять
 

tz-lom

Продвинутый новичок
если не из браузера то спешу вас уведомить что крон можно написать на баше или даже на батниках
 

marker

Новичок
Автор оригинала: tz-lom
если не из браузера то спешу вас уведомить что крон можно написать на баше или даже на батниках
товарищи кто вам сказал что скрипты запускаются из браузера? - даже автор темы такое не говорил!
у меня 100 скриптов - неужели я их в браузере запускаю? :)

nnCron или стандартный планировщик (оба варианта пробовал) пинают 100 bat файлов
следующего содержания:
curl.exe http://test.local/test(0-99).php

через некоторое время апач умирает.

прошу вас если участвуете (что замечательно) - читайте внимательнее и постарайтесь вникнуть.

-~{}~ 01.07.10 13:56:

кстати моя параллельная тема
http://sql.ru/forum/actualthread.aspx?bid=18&tid=770839
 

dimagolov

Новичок
marker, ты вообще в курсе, что существует PHP CLI и запуск скриптов непосредственно им, без какого-либо веб-сервера?
 

marker

Новичок
Автор оригинала: dimagolov
marker, ты вообще в курсе, что существует PHP CLI и запуск скриптов непосредственно им, без какого-либо веб-сервера?
нет не вкурсе - и ничего в этом позорного не вижу.
я как и вы много чего не знаю...
для этого и придуманы форумы, я думаю - помогать, направлять ищущего в нужное русло.
а не письк@ми мериться.
 

dimagolov

Новичок
marker, ну так раз теперь в курсе, то кончай страдать фигней и запускай свои скрипты через CLI в кроне. апач при этом задействован не будет вообще и проблемы не возникнет.
 

WBS

Новичок
Может кому-нибудь пригодится...
Моя проблема уже давно разрешилась благодаря прописыванию опции

curl_setopt($ch, CURLOPT_DNS_USE_GLOBAL_CACHE, FALSE);
 
Сверху