«Время ожидания запроса истекло» и не выполнется.
Как можно это поправить? Может пошаговое выполнение или что-то подобное?
Спустя 5 минут, 44 секунды (20.05.2009 - 12:14) jetistyum написал(а):
если max_execution_time - лечится выставлением бесконечного времени выполнения скрипта
если просто при попытке получить информацию с удаленного хоста, то нужно устанавливать время ожидания и обрабатывать ошибку - пропускать хост, или пытаться повторно получить данные ... если не ошибаюсь, curl-e это можно сделать
если просто при попытке получить информацию с удаленного хоста, то нужно устанавливать время ожидания и обрабатывать ошибку - пропускать хост, или пытаться повторно получить данные ... если не ошибаюсь, curl-e это можно сделать
Спустя 2 минуты, 33 секунды (20.05.2009 - 12:17) Юрий Шу написал(а):
Цитата (jetistyum @ 20.05.2009 - 09:14) |
если max_execution_time - лечится выставлением бесконечного времени выполнения скрипта если просто при попытке получить информацию с удаленного хоста, то нужно устанавливать время ожидания и обрабатывать ошибку - пропускать хост, или пытаться повторно получить данные ... если не ошибаюсь, curl-e это можно сделать |
А как поставить бесконечное время выполнение скрита, и что значит max_execution_time?
По поводу второго?? Оно нужно, если не первое?

Можно код привести какой-нибудь?
Спустя 35 минут, 7 секунд (20.05.2009 - 12:52) jetistyum написал(а):
max_execution_time
по поводу второго - второе отвечает за выполнение запроса у удаленному хосту,
первое - за выполнение скрипта.
по поводу второго - второе отвечает за выполнение запроса у удаленному хосту,
первое - за выполнение скрипта.
Спустя 1 час, 27 минут, 24 секунды (20.05.2009 - 14:19) Han написал(а):
Цитата (jetistyum @ 20.05.2009 - 09:14) |
если max_execution_time - лечится выставлением бесконечного времени выполнения скрипта |
А как залезть в php.ini если твой сайт стоит на хосте. Просить админа чтобы выставил больше 30 секунд на выполнение? Если да, то я сомневаюсь ,что из за одного сайта он будет менять условия для всех на хосте.
Спустя 9 минут, 25 секунд (20.05.2009 - 14:29) glock18 написал(а):
PHP |
ini_set('max_execution_time', 0); |
Спустя 1 час, 12 минут, 13 секунд (20.05.2009 - 15:41) Юрий Шу написал(а):
И в .htacсess увеличивал время, и с помощью ini_set устанавливал. Все равно через минуту (хотя на сервере max_execution_time = 30) программа перестает выполняться.
Может дело в том, что скрипт удаленно подключается к другому сайту??
Администратор хостинга посоветовал сделать, чтобы скрипт работал с определенным интервалом, сохраняя промежуточные данные.
Кто-нибудь с этим сталкивался?
Может дело в том, что скрипт удаленно подключается к другому сайту??
Администратор хостинга посоветовал сделать, чтобы скрипт работал с определенным интервалом, сохраняя промежуточные данные.
Кто-нибудь с этим сталкивался?
Спустя 5 часов, 20 минут, 13 секунд (20.05.2009 - 21:01) kirik написал(а):
Цитата (Юрий Шу @ 20.05.2009 - 07:41) |
хотя на сервере max_execution_time = 30 |
Если мне не изменяет память, это 30 секунд..
Вероятно что администратор сервера запретил изменять некоторые значения php.ini, тогда слушайся его (админа), или делай шелл скрипт выполняющий ту же работу (или на perl).
А что за скрипт вообще такой?
Спустя 10 часов, 39 минут, 30 секунд (21.05.2009 - 07:41) Юрий Шу написал(а):
kirik, скрипт собирает данные из таблицы с удаленного сайта, анализирую около 600 страниц. Поэтому и долго.
А есть примеры этого шелл-скрипта?? От чего откталкиваться?
А есть примеры этого шелл-скрипта?? От чего откталкиваться?
Спустя 8 минут, 20 секунд (21.05.2009 - 07:49) kirik написал(а):
А если разбить твой скрипт на подзадачи? Например один скрипт только качает содержимое в локальную папку, второй анализирует.. Или еще сам анализ разбить на несколько подзадач.
Цитата (Юрий Шу @ 20.05.2009 - 23:41) |
От чего откталкиваться? |
Спустя 45 минут, 3 секунды (21.05.2009 - 08:34) sergeiss написал(а):
Цитата (Юрий Шу @ 21.05.2009 - 07:41) |
kirik, скрипт собирает данные из таблицы с удаленного сайта, анализирую около 600 страниц. Поэтому и долго. |
Так может, проще сделать так, чтобы один скрипт анализировал данные с одной страницы, после чего вызывал "сам себя" с указанием продолжить обработку? Сделать это не сложно будет. Но отсчет лимитов будет идти каждый раз заново.
Тогда (в среднем) одна обработка займет около 1/600 от нынешнего времени, во всякие лимиты влезешь.
Спустя 6 минут, 51 секунда (21.05.2009 - 08:41) Юрий Шу написал(а):
kirik, я хотел так сделать.
Скажите, как можно передать значение переменной (массива) в другой скрипт?
Скажите, как можно передать значение переменной (массива) в другой скрипт?
Цитата |
после чего вызывал "сам себя" |
sergeiss, а вот это как делается?
Спустя 20 минут, 58 секунд (21.05.2009 - 09:02) sergeiss написал(а):
Цитата (Юрий Шу @ 21.05.2009 - 08:41) | ||
sergeiss, а вот это как делается? |
2 варианта.
1. javascript - по окончании очередного шага обработки вызываем другой скрипт. Как частный случай - "сам себя", при этом можно указать любые параметры.
2. Через header( "Location: ...." ); И почитай тему http://phpforum.ru/index.php?showtopic=17590&hl= о том, как обойти проблемы работы с этой функцией.
И в том, и в другом случае ты можешь указать любые параметры.
Например, реализация 1-го варианта у меня (скрипт с именем load_one_file):
PHP |
echo "<script language=\"JavaScript\"> location.href=\"load_one_file.php?listfile=$ListFile&order=".($order+1). |
Обработка идет до тех пор, пока в файле, имя которого находится в переменной $ListFile, имеются имена файлов для обработки. А они там убывают по мере обработки: обработал файл - удалил его имя из списка.
PS. Собственно, можно и сессии использовать для передачи параметров... Мой вариант мне чем нравится - он более наглядный
