[Настройка] onNewMinute

Описание настройки чего либо

Модераторы: immortal, newz20

dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: onNewMinute

Сообщение dmw » Вт мар 12, 2013 1:52 am

К сожалению второй день после установки последней версии (v.030b) не могу заставить работать расписания по таймерам OnNewMinute/OnNewHour.
В последнем дистрибутиве строчки curl_setopt уже закоментированы.
Вручную запрос /objects/?object=ClockChime&op=m&m=onNewMinute& отрабатывается нормально.
Работает все на Ubuntu 12.10 + Apache2, php 5.4. Уже не знаю где копать.
cycle.php выполняется с таким результатом:

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

CONNECTED TO DB
Running startup maintenance
admin_users ...OK
app_quotes ...OK
btdevices ...OK
calendar_categories ...OK
calendar_events ...OK
classes ...OK
collections ...OK
commands ...OK
elements ...OK
elm_states ...OK
events ...OK
gpsactions ...OK
gpsdevices ...OK
gpslocations ...OK
gpslog ...OK
history ...OK
jobs ...OK
layouts ...OK
locations ...OK
media_favorites ...OK
methods ...OK
newsletter ...OK
objects ...OK
owdevices ...OK
owdisplays ...OK
owproperties ...OK
patterns ...OK
phistory ...OK
pinghosts ...OK
prod_categories ...OK
product_categories ...OK
product_codes ...OK
product_log ...OK
products ...OK
project_modules ...OK
properties ...OK
pvalues ...OK
readit_channels ...OK
readit_urls ...OK
rss_channels ...OK
rss_items ...OK
safe_execs ...OK
scenes ...OK
script_categories ...OK
scripts ...OK
settings ...OK
shoplist ...OK
shopping_list_items ...OK
shoutrooms ...OK
shouts ...OK
tdwiki ...OK
terminals ...OK
usbdevices ...OK
userlog ...OK
users ...OK
watchfolders ...OK
webvars ...OK
Starting ./scripts/cycle_webvars.php ... OK
Starting ./scripts/cycle_main.php ... OK
Starting ./scripts/cycle_watchfolders.php ... OK
Starting ./scripts/cycle_skype.php ... OK
Starting ./scripts/cycle_states.php ... OK
Starting ./scripts/cycle_execs.php ... OK
Starting ./scripts/cycle_onewire.php ... OK
Starting ./scripts/cycle_X101_skype.php ... OK
Starting ./scripts/cycle_onewire_starred.php ... OK
Starting ./scripts/cycle_scheduler.php ... OK
Starting ./scripts/cycle_ping.php ... OK
Starting ./scripts/cycle_bluetooth.php ... OK
Starting ./scripts/cycle_rss.php ... OK
ALL CYCLES STARTED

02:35:37 Closing thread: php -q ./scripts/cycle_webvars.php --params "a:0:{}"
02:35:37 Closing thread: php -q ./scripts/cycle_main.php --params "a:0:{}"
02:35:37 Closing thread: php -q ./scripts/cycle_skype.php --params "a:0:{}"
02:35:37 Closing thread: php -q ./scripts/cycle_watchfolders.php --params "a:0:{}"
02:35:37 Closing thread: php -q ./scripts/cycle_execs.php --params "a:0:{}"
02:35:37 Closing thread: php -q ./scripts/cycle_states.php --params "a:0:{}"
02:35:37 Closing thread: DISPLAY=:101 php ./scripts/cycle_X101_skype.php --params "a:0:{}"
02:35:37 Closing thread: php -q ./scripts/cycle_onewire.php --params "a:0:{}"
02:35:37 Closing thread: php -q ./scripts/cycle_onewire_starred.php --params "a:0:{}"
02:35:37 Closing thread: php -q ./scripts/cycle_ping.php --params "a:0:{}"
02:35:38 Closing thread: php -q ./scripts/cycle_rss.php --params "a:0:{}"
02:35:38 Closing thread: php -q ./scripts/cycle_scheduler.php --params "a:0:{}"
02:35:38 Closing thread: php -q ./scripts/cycle_bluetooth.php --params "a:0:{}"
anemcov
Сообщения: 211
Зарегистрирован: Вт янв 08, 2013 11:50 pm
Откуда: Санкт-Петербург
Благодарил (а): 0
Поблагодарили: 6 раз

Re: onNewMinute

Сообщение anemcov » Вт мар 12, 2013 8:39 am

А в DebMes что? И в логе Apache?
dmw
Сообщения: 469
Зарегистрирован: Вт мар 12, 2013 1:22 am
Благодарил (а): 41 раз
Поблагодарили: 81 раз

Re: onNewMinute

Сообщение dmw » Вт мар 12, 2013 9:49 am

DebMes молчит, вот так ругается только после запуска /cycle.php вручную:

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

Starting ./scripts/cycle_webvars.php ... 
Starting ./scripts/cycle_main.php ... 
Starting ./scripts/cycle_watchfolders.php ... 
Starting ./scripts/cycle_skype.php ... 
Starting ./scripts/cycle_states.php ... 
Starting ./scripts/cycle_execs.php ... 
Starting ./scripts/cycle_onewire.php ... 
Starting ./scripts/cycle_X101_skype.php ... 
Starting ./scripts/cycle_onewire_starred.php ... 
Starting ./scripts/cycle_scheduler.php ... 
Starting ./scripts/cycle_ping.php ... 
Starting ./scripts/cycle_bluetooth.php ... 
Starting ./scripts/cycle_rss.php ... 
Closing thread: php -q ./scripts/cycle_watchfolders.php --params "a:0:{}"
Closing thread: php -q ./scripts/cycle_main.php --params "a:0:{}"
Closing thread: php -q ./scripts/cycle_webvars.php --params "a:0:{}"
Closing thread: php -q ./scripts/cycle_skype.php --params "a:0:{}"
Closing thread: php -q ./scripts/cycle_states.php --params "a:0:{}"
Closing thread: php -q ./scripts/cycle_onewire.php --params "a:0:{}"
Closing thread: php -q ./scripts/cycle_execs.php --params "a:0:{}"
Closing thread: php -q ./scripts/cycle_scheduler.php --params "a:0:{}"
Closing thread: DISPLAY=:101 php ./scripts/cycle_X101_skype.php --params "a:0:{}"
Closing thread: php -q ./scripts/cycle_onewire_starred.php --params "a:0:{}"
Closing thread: php -q ./scripts/cycle_bluetooth.php --params "a:0:{}"
Closing thread: php -q ./scripts/cycle_ping.php --params "a:0:{}"
Closing thread: php -q ./scripts/cycle_rss.php --params "a:0:{}"
У Apache весь лог забит похожим на такие записи (за 6 часов лог вырос до 22Мб), ну это скорее всего связано с тем что начиная с версии PHP 5.4.0 возможность использования глобальных переменных (Register_Globals) удалена: http://php.net/manual/ru/security.globals.php.
Кстати не может ли это както и влияет на таймер MajorDoMo?

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

Undefined index: COMPUTERNAME in /var/www/config.php on line 24
Undefined index: S2G_BASE_URL in /var/www/config.php on line 36
Undefined variable: argv in /var/www/lib/general.class.php on line 13
Undefined property: application::$ajax in /var/www/modules/application.class.php on line 188
Undefined property: application::$popup in /var/www/modules/application.class.php on line 189
Use of undefined constant TODAY - assumed 'TODAY' in /var/www/modules/application.class.php on line 194
Undefined property: application::$ajax in /var/www/lib/jTemplate.class.php on line 80
Undefined property: jTemplate::$ajax in /var/www/lib/jTemplate.class.php on line 145
Undefined offset: 1 in /var/www/lib/jTemplate.class.php on line 456
Undefined index: SELECTED in /var/www/lib/jTemplate.class.php(463) : eval()'d code on line 1
Undefined index: MEMORY_START in /var/www/lib/perfmonitor.class.php on line 38
Undefined variable: global_params in /var/www/lib/module.class.php on line 223
Undefined property: app_player::$action in /var/www/modules/app_player/app_player.class.php on line 88
Undefined property: app_player::$play in /var/www/modules/app_player/app_player.class.php on line 153
Undefined property: app_player::$terminal_id in /var/www/modules/app_player/app_player.class.php on line 157
Undefined index: PLAY_TERMINAL in /var/www/modules/app_player/app_player.class.php on line 168
Undefined index: LAST_PLAY in /var/www/modules/app_player/app_player.class.php on line 184
Undefined index: MEMORY_END in /var/www/lib/perfmonitor.class.php on line 53
Undefined index: TIME in /var/www/lib/perfmonitor.class.php on line 56
Undefined index: NUM in /var/www/lib/perfmonitor.class.php on line 57
и так далее ...
anemcov
Сообщения: 211
Зарегистрирован: Вт янв 08, 2013 11:50 pm
Откуда: Санкт-Петербург
Благодарил (а): 0
Поблагодарили: 6 раз

Re: onNewMinute

Сообщение anemcov » Вт мар 12, 2013 11:13 am

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

Re: onNewMinute

Сообщение sergejey » Вт мар 12, 2013 11:44 am

Register_globals не должно влиять, оно запрещено на большинстве хостингов ещё с незапамятных времён.
Странно, что процессы закрываются сразу после запуска -- не должно быть так, где-то всё же ошибка, а не только php notice, как показано в примере лога.

Ну для начало лучше в php.ini отключить уведомление о notice-ах, чтобы по крайней мере лог от мусора расчистить.

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

Re: onNewMinute

Сообщение dmw » Вт мар 12, 2013 1:50 pm

Оказывается во всем был виноват PHP версии 5.4.6!
Снес PHP 5.4.6, установил 5.3.10 и таймеры все заработали! Что все таки это было и с чем связано, ума не приложу. Да и кстати нормально сразу заработал модуль "Устройства Onlain", все пингуется и определяется.
DebMes теперь сообщает так:

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

Starting ./scripts/cycle_webvars.php ... 
Starting ./scripts/cycle_main.php ... 
Starting ./scripts/cycle_watchfolders.php ... 
Starting ./scripts/cycle_skype.php ... 
Starting ./scripts/cycle_states.php ... 
Starting ./scripts/cycle_execs.php ... 
Starting ./scripts/cycle_onewire.php ... 
Starting ./scripts/cycle_X101_skype.php ... 
Starting ./scripts/cycle_onewire_starred.php ... 
Starting ./scripts/cycle_scheduler.php ... 
Starting ./scripts/cycle_ping.php ... 
Starting ./scripts/cycle_bluetooth.php ... 
Starting ./scripts/cycle_rss.php ... 
Cycle running OK: cycle_main.php
Cycle running OK: cycle_webvars.php
Cycle running OK: cycle_states.php
Cycle running OK: cycle_watchfolders.php
Cycle running OK: cycle_execs.php
Closing thread: php -q ./scripts/cycle_skype.php --params "a:0:{}"
Cycle running OK: cycle_scheduler.php
Cycle running OK: cycle_ping.php
Closing thread: php -q ./scripts/cycle_onewire.php --params "a:0:{}"
Cycle running OK: cycle_rss.php
Closing thread: php -q ./scripts/cycle_onewire_starred.php --params "a:0:{}"
Closing thread: DISPLAY=:101 php ./scripts/cycle_X101_skype.php --params "a:0:{}"
Closing thread: php -q ./scripts/cycle_bluetooth.php --params "a:0:{}"
Это нормальный лог считается? (Scype, 1-wire и bluetooth - после установки дистрибутива пока не настраивал).
Запуск в браузере ../cycle.php подвисает, крутиться чегото долго больно, конца не дожидаюсь. Так должно быть?

P.s. если кому пригодиться для Ubuntu 12.10 добрый человек скрипт выложил для перехода на PHP 5.3.10:
http://eduard.kozachek.net/blog/shamani ... 0-php-5-4/
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: onNewMinute

Сообщение sergejey » Вт мар 12, 2013 2:54 pm

да, это нормально. ненастроенные циклы закрываются.
cycle.php не нужно из браузера запускать -- его задача быть запущенным из консоли. там бесконечный цикл, так что в браузере это нормально, что он до конца не доходит.

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

Re: onNewMinute

Сообщение dmw » Ср мар 13, 2013 2:45 pm

Ну как оказалось не все ещё.
Почему то останавливается основной цикл и соответственно все связанное с ним: отсчет OnNewMinute, пинги устройств, Веб переменные.
Отчеты DebMes, Apache, System - пустые. Такое ощущение что все циклы останавливаются и все. Сама страничка работает, крон в системный лог периодически отчитывается о запуске своих скриптов, короче все остальное работает.
Командой в браузере http://адрес сайта/cycle.php все оживает опять, но спустя время опять останавливается.

Попробовал засечь, оказалось что основной цикл работает ровно 53 минуты:
  • Запуск cycle.php вручную из браузера: 11:57
    Последнее время обновления ClockChime.time: 12:50
    Запуск cycle.php вручную из браузера: 13:27
    Последнее время обновления ClockChime.time: 14:20
    Запуск cycle.php вручную из браузера: 14:32
    Последнее время обновления ClockChime.time: 15:25
Встречал в форуме аналогичные проблемы, но однозначного решения не нашел.
Дистрибутив переустанавливал и вручную и скриптом, базу сносил и создавал заново.
curl_setopt в /lib/objects.class.php отсутствуют, а в /modules/objects/objects.class.php закоментированы.
Пока ничего не помогает.

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

Re: onNewMinute

Сообщение sergejey » Ср мар 13, 2013 2:52 pm

Из браузера его запускать не нужно. Я бы даже сказал, что нельзя.
cycle.php надо запускать только (!) из консоли. Т.е. зайти в каталог и набрать php ./cycle.php (ну или /usr/bin/php ./cycle.php) и только так.

если запускать его из браузера, то интерпретатор php работает от имени веб-сервера со своими ограничениями (в том числе по времени работы). если из командной строки, то без каких либо ограниений.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
anemcov
Сообщения: 211
Зарегистрирован: Вт янв 08, 2013 11:50 pm
Откуда: Санкт-Петербург
Благодарил (а): 0
Поблагодарили: 6 раз

Re: onNewMinute

Сообщение anemcov » Ср мар 13, 2013 2:54 pm

dmw писал(а):Ну как оказалось не все ещё.
Почему то останавливается основной цикл и соответственно все связанное с ним: отсчет OnNewMinute, пинги устройств, Веб переменные.
Отчеты DebMes, Apache, System - пустые. Такое ощущение что все циклы останавливаются и все. Сама страничка работает, крон в системный лог периодически отчитывается о запуске своих скриптов, короче все остальное работает.
Командой в браузере http://адрес сайта/cycle.php все оживает опять, но спустя время опять останавливается.

Попробовал засечь, оказалось что основной цикл работает ровно 53 минуты:
  • Запуск cycle.php вручную из браузера: 11:57
    Последнее время обновления ClockChime.time: 12:50
    Запуск cycle.php вручную из браузера: 13:27
    Последнее время обновления ClockChime.time: 14:20
    Запуск cycle.php вручную из браузера: 14:32
    Последнее время обновления ClockChime.time: 15:25
Встречал в форуме аналогичные проблемы, но однозначного решения не нашел.
Дистрибутив переустанавливал и вручную и скриптом, базу сносил и создавал заново.
curl_setopt в /lib/objects.class.php отсутствуют, а в /modules/objects/objects.class.php закоментированы.
Пока ничего не помогает.

Может в кроне нужно както было прописать периодический запуск cycle.php?
Не надо цикл из браузера запускать - только из консоли.
У меня в crontab пользователя www-data добавлена строка:

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

@reboot /usr/bin/php /var/www/cycle.php
таким образом при перезагрузке запускается скрипт от имени пользователя www-data
в случае сбоя -перегружаю машину.
тестирую скрипты, логинясь

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

su www-data
и запускаю скрипт из консоли. Оттестировал - перезагрузил машину
Ответить