Проблема с рекурсией

_Tarik_

Новичок
Проблема с рекурсией

Проблема заключается в следующем:
есть рекурсивная функция, которая осуществляет парсинг сайта который имеет рекурсивную структуру т.е. есть
разделы в них подразделы и так далее,
данная функция "ходит" по подразделам и собирает информацию.
Проблема состоит в том что спустя определённый промежуток времени функция повисает, причём это ни как не связанно с тем в каком она находится подразделе, это связанно со временем выполнения, а оно порядка 15 минут, глубина рекурсии не более 5, в начале скрипта стоит set_time_limit(0), алгоритм точно работает правильно, т.е. зациклится не может. В чём может состоять проблема?
 

SiMM

Новичок
> В чём может состоять проблема?
[telepat mode]
В том, что процесс прекращает своё существование.
[/telepat mode]
 

_Tarik_

Новичок
То что php прекращает работу это я понял:). Как можно увеличить "время жизни " скрипта кроме set_time_limit? Да ещё используется CURL, в нём не может быть проблема?
 

_Tarik_

Новичок
Vallar_ultra
попробуй пошагово отладить скрипт.... там виднее будет ;)
Да пошагово я буду отлаживать до конца дней своих:) Я же говорю что нету зависимости от данных которые обрабатывает скрипт, есть только ограничение по времени.
 

domino

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

Gremboloid

инженера Гр...
Re: Проблема с рекурсией

Автор оригинала: _Tarik_
глубина рекурсии не более 5
Да пошагово я буду отлаживать до конца дней своих
Дык ,какая проблемма с отладкой?
IMHO лень посидеть подумать.
 

_Tarik_

Новичок
Ребята, я уже 4-ря дня сижу и думаю, теберь когда я уже перепробовал всё что смог придумать решил обратиться сюда за какими-то идеями.
 

Screjet

Новичок
Что говорит ОСь? Не клинит ли процесс? Какое состояние процесса? Что говорит netstat? Не ожидает ли ответа от недоступного адреса?
Если разработка не твоя, верни разработчику с описанием проблемы :)
 

_Tarik_

Новичок
Ось толком ни чего неговорит ибо это вида:).
Интерестная особенность - если увеличить memory_limit до 16Mb c 8Mb, то время работы скрипта сокращается где-то на треть, соответственно и количество шагов уменьшается.

-~{}~ 22.08.05 12:50:

Сменил PHP 4.4.0 на 4.3.9 - скрипт начал работать дольше, но не до конца:).
PS: Разработка моя потому отдать её некому:).
 

Vallar_ultra

Любитель выпить :)
Интерестная особенность - если увеличить memory_limit до 16Mb c 8Mb, то время работы скрипта сокращается где-то на треть, соответственно и количество шагов уменьшается.
Скрипт именно зависает или вылетает впоследствии по какой-нить ошибке?

время работы скрипта сокращается
Так он до конца дорабатывает или нет?
 

_Tarik_

Новичок
Скрипт повисает. На другой версии php он работает быстрее и виснет выдавая больше результатов, но до конца он не доходит, опять упирается в какое-то временное ограничение.

-~{}~ 22.08.05 14:47:

Запустил скрипт из командной строки - скрипт отработал!
 

Vallar_ultra

Любитель выпить :)
Скрипт повисает. На другой версии php он работает быстрее и виснет выдавая больше результатов, но до конца он не доходит, опять упирается в какое-то временное ограничение.
Гы... Эт у тебя не скрипт виснет а либо броузер, либо апач не справляеццо :) Ты какой объём инфы-то на выход кидаешь?
 

_Tarik_

Новичок
Инфы мало, всего получается порядка 10 килобайт, скорее всего дела в каком-то таймауте апача.
 

Vallar_ultra

Любитель выпить :)
ХЗ.... вот насчёт тайм-аутов апача я тебе точно ничего сказать не могу.... разбирайся! как разберёшься - пиши, такая инфа ещё понадобиццо :)
 
Сверху