Остановлен главный цикл
Модератор: immortal
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Остановлен главный цикл
Вот уже несколько дней на ровном месте останавливается главный цикл системы. В логах ошибок не нахожу. Авторестарт не срабатывает.
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
- sergejey
- Site Admin
- Сообщения: 4284
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 75 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Остановлен главный цикл
Запустите его отдельно. Если авторестарт не срабатывает, значит цикл не закрывается, а зависает на чём-то. Я так думаю, что он может зависать на чём-то, что выполняется в методах onNewHour или onNewMinute, больше никакого пользовательского кода он не вызывает.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 469
- Зарегистрирован: Вт мар 12, 2013 1:22 am
- Благодарил (а): 41 раз
- Поблагодарили: 81 раз
Re: Остановлен главный цикл
Поборол у себя.
Цикл зависает если в ваших скриптах используется file_get_contents() для обращения к веб-содержимому и при этом он долго не может получить ответ.
решил установкой таймаута для данной функции
Везде заменил file_get_contents("blog.warhour.ru");
на file_get_content_timeout ("blog.warhour.ru", 10); // таймаут 10 сек (если не указывать то по умолчанию 5 сек)
В моем случае вроде отлегло, пока наблюдаю.
Цикл зависает если в ваших скриптах используется 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_content_timeout ("blog.warhour.ru", 10); // таймаут 10 сек (если не указывать то по умолчанию 5 сек)
В моем случае вроде отлегло, пока наблюдаю.
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Остановлен главный цикл
А я отключил 5 секундный цикл. Хотя с ним сколько месяцев работало...
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
-
- Сообщения: 65
- Зарегистрирован: Вс янв 12, 2014 12:54 pm
- Откуда: Белгород
- Благодарил (а): 110 раз
- Поблагодарили: 1 раз
Re: Остановлен главный цикл
Я как в консоли запустил увидел что тормозится при попытке что-то произнести alsa....., оказалось преобразователь dc-dc как-то некорректно питал pcduino и внешний звуковой свисток подключен через usb был не запитан, не хватало тока наверное.
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Остановлен главный цикл
И всё равно виснет(BlackWarrior писал(а):А я отключил 5 секундный цикл. Хотя с ним сколько месяцев работало...
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
-
- Сообщения: 469
- Зарегистрирован: Вт мар 12, 2013 1:22 am
- Благодарил (а): 41 раз
- Поблагодарили: 81 раз
Re: Остановлен главный цикл
Можно создать для класса Computer свойство cycle_mainRun с периудом хранения истории 1 день.
И понаблюдать как часто обновляется ThisComputer.cycle_mainRun. Сразу будет понятно какая периодичность симптома раз в 5 минут, 15 или 30, или еще как. По нему и будет понятно какой ваш скрипт вызываемый из onNewMinute и onNewHour виноват.
И понаблюдать как часто обновляется ThisComputer.cycle_mainRun. Сразу будет понятно какая периодичность симптома раз в 5 минут, 15 или 30, или еще как. По нему и будет понятно какой ваш скрипт вызываемый из onNewMinute и onNewHour виноват.
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Остановлен главный цикл
Спасибо, понаблюдаю
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
- Amarok
- Сообщения: 1425
- Зарегистрирован: Пт дек 14, 2012 12:24 pm
- Откуда: Россия, Нижняя Тура
- Благодарил (а): 460 раз
- Поблагодарили: 126 раз
- Контактная информация:
Re: Остановлен главный цикл
Код: Выделить всё
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
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165