Проблема с запуском цикла
Модератор: immortal
-
- Сообщения: 66
- Зарегистрирован: Вт авг 06, 2013 3:49 pm
- Откуда: Новокузнецк
- Благодарил (а): 0
- Поблагодарили: 7 раз
Re: Проблема с запуском цикла
Подскажите, от чего примерно через полдня работы сервера, внезапно останавливается цикл ping? В debmes пишет:
07:15:45 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_ping.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
Такое началось дня три назад
07:15:45 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_ping.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
Такое началось дня три назад
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Проблема с запуском цикла
А до этой надписи какие-нибудь ошибки не пишутся в лог?Galakart писал(а):Подскажите, от чего примерно через полдня работы сервера, внезапно останавливается цикл ping? В debmes пишет:
07:15:45 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_ping.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
Такое началось дня три назад
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 66
- Зарегистрирован: Вт авг 06, 2013 3:49 pm
- Откуда: Новокузнецк
- Благодарил (а): 0
- Поблагодарили: 7 раз
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Проблема с запуском цикла
Ещё вопрос -- может ли это быть связано с каким-то из запрограммированных реакция на появление/пропажу устройства из сети? Т.е. возможен такой вариант -- должен был выполниться какой-то код, но вместо этого упал цикл опроса. Если бы удалось узнать подобную зависимость, то проще было бы копать глубже.Galakart писал(а):Нет, ни до ни после, ошибок нет
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 66
- Зарегистрирован: Вт авг 06, 2013 3:49 pm
- Откуда: Новокузнецк
- Благодарил (а): 0
- Поблагодарили: 7 раз
Re: Проблема с запуском цикла
Точноsergejey писал(а):Т.е. возможен такой вариант -- должен был выполниться какой-то код, но вместо этого упал цикл опроса.

-
- Сообщения: 289
- Зарегистрирован: Вс сен 16, 2012 9:39 am
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Проблема с запуском цикла
Я кажется нашел причину зависания, похоже все дело в командах которые даются на сетевые ус-ва, сначала я использовал file_get_contents, все работало пока ус-во было в сети, как только оно пропадает, останов цикла, висит пока ус-во не появится в сети, затем я перешел на a-. с таймаутом, но похоже у всех у них какя-то завязка на cycle_main.php, при исчезновении ус-ва из сети останавливается именно на этом цикле. на соседнем форуме предложили вариант с exec("$cmd > ip &"); поставил, пока ус-во в сети все хорошо, запросы отсылает, выключил ус-во висит все.
Как побороть, у меня в oneNewminute есть команды сетевым ус-вам, хоть я их и сделал чтоб выполнялись только когда есть св-во в сети, через модуль ус-ва онлайн, но похоже если ус-во уже не в сети, а флаг еще не установился, то имеем висяк.
Как побороть, у меня в oneNewminute есть команды сетевым ус-вам, хоть я их и сделал чтоб выполнялись только когда есть св-во в сети, через модуль ус-ва онлайн, но похоже если ус-во уже не в сети, а флаг еще не установился, то имеем висяк.
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Проблема с запуском цикла
Как вариант, использоватьUrbas81 писал(а):Я кажется нашел причину зависания, похоже все дело в командах которые даются на сетевые ус-ва, сначала я использовал file_get_contents, все работало пока ус-во было в сети, как только оно пропадает, останов цикла, висит пока ус-во не появится в сети, затем я перешел на a-. с таймаутом, но похоже у всех у них какя-то завязка на cycle_main.php, при исчезновении ус-ва из сети останавливается именно на этом цикле. на соседнем форуме предложили вариант с exec("$cmd > ip &"); поставил, пока ус-во в сети все хорошо, запросы отсылает, выключил ус-во висит все.
Как побороть, у меня в oneNewminute есть команды сетевым ус-вам, хоть я их и сделал чтоб выполнялись только когда есть св-во в сети, через модуль ус-ва онлайн, но похоже если ус-во уже не в сети, а флаг еще не установился, то имеем висяк.
Код: Выделить всё
$content=getURL('http://устройство/',0);
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
-
- Сообщения: 289
- Зарегистрирован: Вс сен 16, 2012 9:39 am
- Благодарил (а): 0
- Поблагодарили: 1 раз
Re: Проблема с запуском цикла
sergejey писал(а):Как вариант, использоватьUrbas81 писал(а):Я кажется нашел причину зависания, похоже все дело в командах которые даются на сетевые ус-ва, сначала я использовал file_get_contents, все работало пока ус-во было в сети, как только оно пропадает, останов цикла, висит пока ус-во не появится в сети, затем я перешел на a-. с таймаутом, но похоже у всех у них какя-то завязка на cycle_main.php, при исчезновении ус-ва из сети останавливается именно на этом цикле. на соседнем форуме предложили вариант с exec("$cmd > ip &"); поставил, пока ус-во в сети все хорошо, запросы отсылает, выключил ус-во висит все.
Как побороть, у меня в oneNewminute есть команды сетевым ус-вам, хоть я их и сделал чтоб выполнялись только когда есть св-во в сети, через модуль ус-ва онлайн, но похоже если ус-во уже не в сети, а флаг еще не установился, то имеем висяк.getURL более безопасная команда чем file_get_contents, потому что в ней уже прописан тайм-аут в 30 секунд и висяка не образуетсяКод: Выделить всё
$content=getURL('http://устройство/',0);
Как раз эта команда и использовалась, может и не в этом дело, вчера применил таймаут для file_get_contents, посмотрю как изменится ситуация.
-
- Сообщения: 469
- Зарегистрирован: Вт мар 12, 2013 1:22 am
- Благодарил (а): 41 раз
- Поблагодарили: 81 раз
Re: Проблема с запуском цикла
после обновления получил останов циклов:
Xray показывает что работает только ThisComputer.cycle_statesRun
В как побороть? Где искать?
Код: Выделить всё
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_execs.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_onewire_starred.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_snmp.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_onewire.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_states.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_main.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_bluetooth.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_arduino.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_skype.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_scheduler.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_zwave.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_rss.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_ping.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_webvars.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_watchfolders.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Starting ./scripts/cycle_X101_skype.php ... (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Executing (exclusive): mplayer -af volume=-30 /var/www/sounds/dingdong.mp3 (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Executing (exclusive): mplayer -af volume=-30 /var/www/cached/voice/a088c8731c960271fe250482a253cc46.mp3 (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_execs.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_snmp.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_states.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_main.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_rss.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_bluetooth.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_scheduler.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_onewire_starred.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_onewire.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_watchfolders.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_skype.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_zwave.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:41 DEBUG [DebMes]: Closing thread: DISPLAY=:101 php ./scripts/cycle_X101_skype.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:46:46 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_ping.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
20:47:15 DEBUG [DebMes]: Closing thread: php -q ./scripts/cycle_webvars.php --params "a:0:{}" (at /var/www/lib/general.class.php:391)
В как побороть? Где искать?
- sergejey
- Site Admin
- Сообщения: 4286
- Зарегистрирован: Пн сен 05, 2011 6:48 pm
- Откуда: Минск, Беларусь
- Благодарил (а): 76 раз
- Поблагодарили: 1559 раз
- Контактная информация:
Re: Проблема с запуском цикла
Надо попробовать запустить цилы отдельно и посмотреть как они работаютdmw писал(а):Xray показывает что работает только ThisComputer.cycle_statesRun
В как побороть? Где искать?
к примеру из папки /var/www выполнить php ./scripts/cycle_main.php
ещё, как вариант, проверить нет ли в /var/www файла reboot -- может по какой-то причине он там не удаляется и система закрывает циклы из-за его наличия.
А цикл cycle_statesRun будет работать потому, что он дополнительно ещё через веб-интерфейс вызывается, как раз, чтобы рассказать о проблеме с циклами, если они как положено не работают.
P.S. ещё один вариант -- проверить вручную все ли файлы обновились, потому что с Linux-ом бывает, что не всё переписалось из обновления.
Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги