Страница 1 из 4
Остановлен главный цикл
Добавлено: Вс мар 01, 2015 2:29 pm
Amarok
Вот уже несколько дней на ровном месте останавливается главный цикл системы. В логах ошибок не нахожу. Авторестарт не срабатывает.

Re: Остановлен главный цикл
Добавлено: Вс мар 01, 2015 3:46 pm
Vit
у меня тоже чет стал падать именно он
Re: Остановлен главный цикл
Добавлено: Вс мар 01, 2015 11:45 pm
sergejey
Запустите его отдельно. Если авторестарт не срабатывает, значит цикл не закрывается, а зависает на чём-то. Я так думаю, что он может зависать на чём-то, что выполняется в методах onNewHour или onNewMinute, больше никакого пользовательского кода он не вызывает.
Re: Остановлен главный цикл
Добавлено: Пн мар 02, 2015 4:38 pm
dmw
Поборол у себя.
Цикл зависает если в ваших скриптах используется file_get_contents() для обращения к веб-содержимому и при этом он долго не может получить ответ.
решил установкой таймаута для данной функции
Код: Выделить всё
function file_get_content_timeout($URL, $timeout = 5){
if(strpos($URL,"://")===false) return file_get_contents($URL);
if(!function_exists("curl_init")) return false;
$session=curl_init($URL);
curl_setopt($session,CURLOPT_MUTE,true);
curl_setopt($session,CURLOPT_RETURNTRANSFER,true);
curl_setopt($session,CURLOPT_CONNECTTIMEOUT,$timeout);
curl_setopt($session,CURLOPT_TIMEOUT,$timeout);
curl_setopt($session,CURLOPT_USERAGENT,"Mozilla/5.0 (compatible)");
$result=curl_exec($session);
curl_close($session);
return $result;
}
Везде заменил file_get_contents("blog.warhour.ru");
на file_get_content_timeout ("blog.warhour.ru", 10); // таймаут 10 сек (если не указывать то по умолчанию 5 сек)
В моем случае вроде отлегло, пока наблюдаю.
Re: Остановлен главный цикл
Добавлено: Пн мар 02, 2015 5:37 pm
Amarok
А я отключил 5 секундный цикл. Хотя с ним сколько месяцев работало...
Re: Остановлен главный цикл
Добавлено: Ср мар 04, 2015 3:13 pm
mirsum
Я как в консоли запустил увидел что тормозится при попытке что-то произнести alsa....., оказалось преобразователь dc-dc как-то некорректно питал pcduino и внешний звуковой свисток подключен через usb был не запитан, не хватало тока наверное.
Re: Остановлен главный цикл
Добавлено: Чт мар 05, 2015 5:30 am
Amarok
BlackWarrior писал(а):А я отключил 5 секундный цикл. Хотя с ним сколько месяцев работало...
И всё равно виснет(
Re: Остановлен главный цикл
Добавлено: Чт мар 05, 2015 5:45 am
dmw
Можно создать для класса Computer свойство cycle_mainRun с периудом хранения истории 1 день.
И понаблюдать как часто обновляется ThisComputer.cycle_mainRun. Сразу будет понятно какая периодичность симптома раз в 5 минут, 15 или 30, или еще как. По нему и будет понятно какой ваш скрипт вызываемый из onNewMinute и onNewHour виноват.
Re: Остановлен главный цикл
Добавлено: Чт мар 05, 2015 6:39 am
Amarok
Спасибо, понаблюдаю
Re: Остановлен главный цикл
Добавлено: Вс мар 08, 2015 7:47 am
Amarok
Код: Выделить всё
ThisComputer.cycle_pingRun 1425790000 2015-03-08 09:46:40
ThisComputer.cycle_schedulerRun 1425754800 2015-03-08 00:00:00
ThisComputer.cycle_narodmonRun 1406095174 2014-11-08 12:56:12
Отпадывает шедулер... Хм.