- Автор темы
- #1
Есть PHP скрипт, в общем виде такой:
Цель - фоновая задача. Стартует ежеминутно кроном. Замечено, что на хостинге за сутки серипт "упал" 8 раз. Скрипт при старте и в основном цикле пишет текущее время, поэтому легко проследить сколько он продержался.
Минимальное время работы - менее 2-х минут. Максимальное - более 6 часов (работает до сих пор).
Хотелось бы узнать, чем могут быть вызваны такие падения. Команд на прерывание не поступало, логи ошибок и выходной пусты. Т.е. ошибок типа error и warning не было, естественного завершения тоже. Памяти утечки нет (1.01 мб на протяжении всего времени выполнения).
На локалхосте как браузером запустил, так он трудится уже 3-и сутки. Полет нормальный, память на месте.
PHP:
set_time_limit(0);
ignore_user_abort(1);
set_error_handler('Errorhandler'); // обработчик ошибок
set_exception_handler('Errorhandler'); //обработчик исключений
register_shutdown_function('shutdown'); //завершающая функция
.........
if(already_running()) //проверка запущена ли копия.
exit;
while(true){ //основной цикл
sleep($time);
........
CODE
........
check_commands(); //тут проверяются комманды скрипту
}
function Errorhandler($type,$err,$file,$line) //обработчик ошибок
{
записать все в лог ошибок
}
function shutdown() //завершение работы
{
записать в лог время начала работы,
время окончания работы
время выполнения,
память и пр. отчеты.
}
Цель - фоновая задача. Стартует ежеминутно кроном. Замечено, что на хостинге за сутки серипт "упал" 8 раз. Скрипт при старте и в основном цикле пишет текущее время, поэтому легко проследить сколько он продержался.
Минимальное время работы - менее 2-х минут. Максимальное - более 6 часов (работает до сих пор).
Хотелось бы узнать, чем могут быть вызваны такие падения. Команд на прерывание не поступало, логи ошибок и выходной пусты. Т.е. ошибок типа error и warning не было, естественного завершения тоже. Памяти утечки нет (1.01 мб на протяжении всего времени выполнения).
На локалхосте как браузером запустил, так он трудится уже 3-и сутки. Полет нормальный, память на месте.