Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
rikimaru2013
C++ 2D
2502 / 1166 / 353
Регистрация: 30.11.2013
Сообщений: 3,763
1

PHP длительные скрипты

12.04.2015, 11:24. Просмотров 783. Ответов 3
Метки нет (Все метки)

Доброе утро,
Парсер, работает ровно 10 минут (ограничение сервера? как глянуть настройки сервера на работу скрипта), при открытие через браузер выдаёт ошибку 504 time out - но продолжает работать судя по записям БД.

1) хотелось бы увидить результат парсинга - отправляю себе на почту в конце письмо - не приходит потому что явно прерывается где-то на пол пути скрипт. Как бы отправить себе письмо при любых раскладах?
2) как увеличить время жизни парсера больше чем 10 минут (хостинг beget.ru)

Зарание спасибо
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2015, 11:24
Ответы с готовыми решениями:

Php скрипты
Вот сайт, на котором реализованны php скрипты. Вот: http://user014.dtc.tsput.ru/PHP.html Мне...

Не выполняются php скрипты
Скачал я denwer с официального сайта. Установил. Ничего нигде не меня настройки. Запустил сервер,...

нужны скрипты, задания по PHP
Всем привет. Занимаюсь изучением Web-программирования. Делаю небольшие проекты...

Хостинг центр (hc.ru) php скрипты
Доброго времен суток, я сделал сайт на localhost с помощью Апаче и php5, собственно когда я...

Денвер не запускает .php скрипты
Установил Денвер 3, запускаю его, все работает нормально, html файлы грузятся в браузер без...

3
Lazy_Den
3043 / 2684 / 1355
Регистрация: 15.01.2014
Сообщений: 5,917
12.04.2015, 11:39 2
rikimaru2013, если дело именно в лимите времени, которое отводится на выполнение сценария, то можно использовать или же функцию
PHP
1
set_time_limit( /* время в секундах*/ );
Или же изменить значение директивы max_execution_time в php.ini. Но это "если". Однако, может быть и второй случай, который вызывает ошибку 504 - это нагрузка на сервер. В этом случае, запросы встают в очередь и не успевают обрабатываться, в следствии чего соединение обрывается. Это уже решается или добавлением оперативки, или увеличением процессов httpd (на шаред хостинге, нужно обращаться в поддержку, но не факт, что помогут), или же оптимизировать сам код.
1
Para bellum
Эксперт PHP
4187 / 3117 / 1010
Регистрация: 06.01.2011
Сообщений: 9,091
12.04.2015, 11:41 3
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
как увеличить время жизни парсера больше чем 10 минут (хостинг beget.ru)
Попробуйте
PHP
1
set_time_limit(0);
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
при открытие через браузер выдаёт ошибку 504 time out - но продолжает работать судя по записям БД.
Попробуйте запускать через SSH (если доступ есть).
Цитата Сообщение от rikimaru2013 Посмотреть сообщение
хотелось бы увидить результат парсинга - отправляю себе на почту в конце письмо - не приходит потому что явно прерывается где-то на пол пути скрипт. Как бы отправить себе письмо при любых раскладах?
Я думаю, Вам надо сделать больше проверок, чтобы работу обрывал не php, а Ваш скрипт. Например, было:
PHP
1
file_get_contents($url)
А в $url пусто. PHP выдаст ошибку. А Вы сделайте так:
PHP
1
2
3
4
5
6
7
8
9
try{
    if( empty($url) )
        throw new Exception('Invalid value in URL');
 
    file_get_contents($url);
}
catch(Exception $e){
    // Тут уже отсылаете письмо
}
1
rikimaru2013
C++ 2D
2502 / 1166 / 353
Регистрация: 30.11.2013
Сообщений: 3,763
12.04.2015, 12:17  [ТС] 4
PHP
1
set_time_limit(0);
попробывал 504
Цитата Сообщение от lyod Посмотреть сообщение
Попробуйте запускать через SSH (если доступ есть).
запуск через Cron стоит, SSH и терминалы не оч хочеться копать.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
$startTimeRK = time();
$finishTimeRK = 0;
$countsAdded = 0;
$countsUpdated = 0;
$countsFresh = 0;
try
{
    // весь код парсинга
  throw new Exception("code finish");
}
catch(Exception $e) // в С++ есть ловушка три точки, что ловит всё. Мб мне тут тоже как-то так
// если в секции try произошло что-то не понятное ( нагрузка СР большая, лимит времени отработки скрипта, магия Хогвардса) ловлю и отправляю письмо (но как я отправлю если сервер решил, что скрипт "не годный" и аварийно завершил его (как я понимаю)
{
    // Тут уже отсылаете письмо
}
0
12.04.2015, 12:17
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2015, 12:17

PHP-скрипты на Windows-хостинге
Хотелось бы узнать какие основные изменения придётся производить в скриптах. Также интересно, будут...

Как дёргать php скрипты не из браузера
Всем привет! Хочу спросить у профессианалов, обрисую картину для начала... на сайте есть 2...

Как вставлять JS скрипты в шаблон на PHP?
Делаю шаблон макета страницы вида: <html> <head> <META HTTP-EQUIV="Content-type"...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru