Остановлен главный цикл

Всё, что не подходит под вышеперечисленные разделы

Модератор: immortal

Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Остановлен главный цикл

Сообщение Amarok »

Вот уже несколько дней на ровном месте останавливается главный цикл системы. В логах ошибок не нахожу. Авторестарт не срабатывает. :|
Моя Алиска живёт на Proxmox в Debian 12
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm

Re: Остановлен главный цикл

Сообщение Vit »

у меня тоже чет стал падать именно он
Аватара пользователя
sergejey
Site Admin
Сообщения: 4286
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Контактная информация:

Re: Остановлен главный цикл

Сообщение sergejey »

Запустите его отдельно. Если авторестарт не срабатывает, значит цикл не закрывается, а зависает на чём-то. Я так думаю, что он может зависать на чём-то, что выполняется в методах onNewHour или onNewMinute, больше никакого пользовательского кода он не вызывает.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am

Re: Остановлен главный цикл

Сообщение 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 сек)
В моем случае вроде отлегло, пока наблюдаю.
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Остановлен главный цикл

Сообщение Amarok »

А я отключил 5 секундный цикл. Хотя с ним сколько месяцев работало...
Моя Алиска живёт на Proxmox в Debian 12
mirsum
Сообщения: 65
Зарегистрирован: Вс янв 12, 2014 12:54 pm
Откуда: Белгород

Re: Остановлен главный цикл

Сообщение mirsum »

Я как в консоли запустил увидел что тормозится при попытке что-то произнести alsa....., оказалось преобразователь dc-dc как-то некорректно питал pcduino и внешний звуковой свисток подключен через usb был не запитан, не хватало тока наверное.
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Остановлен главный цикл

Сообщение Amarok »

BlackWarrior писал(а):А я отключил 5 секундный цикл. Хотя с ним сколько месяцев работало...
И всё равно виснет(
Моя Алиска живёт на Proxmox в Debian 12
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am

Re: Остановлен главный цикл

Сообщение dmw »

Можно создать для класса Computer свойство cycle_mainRun с периудом хранения истории 1 день.
И понаблюдать как часто обновляется ThisComputer.cycle_mainRun. Сразу будет понятно какая периодичность симптома раз в 5 минут, 15 или 30, или еще как. По нему и будет понятно какой ваш скрипт вызываемый из onNewMinute и onNewHour виноват.
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Остановлен главный цикл

Сообщение Amarok »

Спасибо, понаблюдаю
Моя Алиска живёт на Proxmox в Debian 12
Аватара пользователя
Amarok
Сообщения: 1434
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Контактная информация:

Re: Остановлен главный цикл

Сообщение 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 
Отпадывает шедулер... Хм.
Моя Алиска живёт на Proxmox в Debian 12
Ответить