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

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

Модератор: immortal

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

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

Сообщение Amarok » Вс мар 01, 2015 2:29 pm

Вот уже несколько дней на ровном месте останавливается главный цикл системы. В логах ошибок не нахожу. Авторестарт не срабатывает. :|
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Vit
Сообщения: 867
Зарегистрирован: Вт янв 17, 2012 12:31 pm
Благодарил (а): 121 раз
Поблагодарили: 78 раз

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

Сообщение Vit » Вс мар 01, 2015 3:46 pm

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

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

Сообщение sergejey » Вс мар 01, 2015 11:45 pm

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

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

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

Сообщение dmw » Пн мар 02, 2015 4:38 pm

Поборол у себя.
Цикл зависает если в ваших скриптах используется 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
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение Amarok » Пн мар 02, 2015 5:37 pm

А я отключил 5 секундный цикл. Хотя с ним сколько месяцев работало...
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
mirsum
Сообщения: 65
Зарегистрирован: Вс янв 12, 2014 12:54 pm
Откуда: Белгород
Благодарил (а): 110 раз
Поблагодарили: 1 раз

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

Сообщение mirsum » Ср мар 04, 2015 3:13 pm

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

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

Сообщение Amarok » Чт мар 05, 2015 5:30 am

BlackWarrior писал(а):А я отключил 5 секундный цикл. Хотя с ним сколько месяцев работало...
И всё равно виснет(
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

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

Сообщение dmw » Чт мар 05, 2015 5:45 am

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

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

Сообщение Amarok » Чт мар 05, 2015 6:39 am

Спасибо, понаблюдаю
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение Amarok » Вс мар 08, 2015 7:47 am

Код: Выделить всё

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 
Отпадывает шедулер... Хм.
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
Ответить