Эта тема на forum.dklab.ru


krivch: Сервер не отвечает
Устал лазить по разнум форумам и искать решение проблемы.
ЛЮДИ! Как решить задачу:
Нужно чтобы скрипт PHP загружал страницу сайта и выполнял часть кода, но в случае если сервер не отвечает (страница не грузится) скрипт не завершался по таймауту а скидывал инфу в лог, пропускал эту часть кода и продолжал ваполнение.
bæv:
Нужно чтобы скрипт PHP загружал страницу сайта и выполнял часть кода, но в случае если сервер не отвечает
— не понял: скрипт с другого сервера, что ли, страницу грузит?
dimagolov:
krivch, если думать головой и читать маны, то подобная задача сложности не представляет.
но обсуждать вопросы связанные с воровством контента неэтично, поэтому подробного обсуждения не будет.
krivch:
Попробую объяснить подробней: я пытаюсь сделать скрипт мониторинга курсов электронных валют, и мне нужно извлечь курс из файла формата RSS (пример: www.globoxchange.com/rss.php), который обменники СПЕЦИАЛЬНО для ЭТОЙ ЦЕЛИ предоставляют (за такое "воровство контента" сайтам обменникам денюжка перепадает, так что они меня за это только расцелуют всего).
Проблема в том что я только начинаю изучать PHP и делаю скрипты по принципу: вычитал чё-то в самоучителе, набрал в редакторе, посмотрел:работает - хорошо, не работает - начинаю искать ошибку.
Так вот, недавно подредактировал скрипт, кинул его на свой сайт, запускаю, а он мне ошибку кажет: "Таймаут". Порылся, вижу - один сайт недоступен (переехал или чего-то ещё), а из-за него все остальные сайты не сканируются. Вот у меня и возник вопрос (писал в первом посте). Я, конечно, могу порыться в книгах и самоучителях, но чой-то не хочется тратить драгоценное время, а потом узнать что подобную задачу нельзя так решить. Уж хоть черканите МОЖНО ЛИ решить задачу...
Maus:
krivch
default_socket_timeout
bæv:
krivch, главное понимать, что сервер обменника может вообще не работать и никакие настройки php тут не помогут. Поэтому:
1. «Мониторить» надо не одним скриптом, а использовать для каждого обменника отдельный.
2. «Мониторить» надо не при обращении к странице Вашего сайта, а cron'ом через определённые промежутки времени. И полученную информацию хранить у себя — либо в базе, либо в файлах.
2. Хранить помимо информации о курсах время последнего получения этой информации. И cron'ом через некоторое время проверять: было ли последнее запланированное обновление успешным (если нет, то попытаться обновить ещё пару раз, а потом вывести «информация не доступна»).
krivch:
Спасибо! Насчёт "Мониторить надо не одним скриптом, а использовать для каждого обменника отдельный" - я бы мож когда-нибудь и догадался, но проверять cron'ом время - никогда бы не допёр! Щас буду делать!

Эта тема на forum.dklab.ru