основной цикл системы

Проблемы/вопросы, связанные с запуском под различными платформами и конфигурациями.

Модератор: immortal

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

Re: основной цикл системы

Сообщение sergejey » Вт сен 04, 2012 9:31 am

Vip писал(а):поправил в конфиге, - время стало одинаково для меня и для элис в чате, но всё равно веб-переменные не обновляются по расписанию как раньше. Повторюсь процеcсы циклов запущены.
со временем ещё предстоит разобраться -- странно, что пришлось в конфиге дописывать, ну да ладно...

теперь что касается веб-переменных. давай попробуем проверить две вещи:

1. Находясь в корневой папке (там где /config.php) попробуй запустить такое из командной строки:

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

..\server\php\php.exe .\scripts\cycle_webvars.php
Эта команда запустит отдельно цикл обновления веб-переменных. Если всё ок, то там будет выводиться что-то вроде "Checking web-var: ...". Либо не будет ничего выводиться, если время обновления переменной ещё не пришло.

2. Обновляются ли веб-переменные из панели управления через ссылку "Обновить все" ?

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Vip
Сообщения: 86
Зарегистрирован: Вт авг 28, 2012 5:36 pm
Откуда: Kiev, Ukraine
Благодарил (а): 4 раза
Поблагодарили: 14 раз

Re: основной цикл системы

Сообщение Vip » Вт сен 04, 2012 10:20 am

sergejey писал(а): со временем ещё предстоит разобраться -- странно, что пришлось в конфиге дописывать, ну да ладно...
дописывать не пришлось, - пришлось поменять...
Там было задано Москва и изза этого отличалось от того что я вбивал в first_run.html. Похоже конфиг "overides" first_run.html
sergejey писал(а):теперь что касается веб-переменных. давай попробуем проверить две вещи:
1. Находясь в корневой папке (там где /config.php) попробуй запустить такое из командной строки:

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

..\server\php\php.exe .\scripts\cycle_webvars.php
Эта команда запустит отдельно цикл обновления веб-переменных. Если всё ок, то там будет выводиться что-то вроде "Checking web-var: ...". Либо не будет ничего выводиться, если время обновления переменной ещё не пришло.
Да выводится цикличная проверка и переменные обновляются как раньше...
sergejey писал(а):2. Обновляются ли веб-переменные из панели управления через ссылку "Обновить все" ?
Да, через ссылку тоже обновляются.

UPDATE: Пробовал в \lib\threads.php менять строку формирования ссылки запуска на

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

        $command = $this->phpPath.' '.$filename;
Не помогло.

Заметил что переменные обновляются в течении минуты, а потом перестают. Такое ощущение что срабатывает какой-то таймаут.
И именно через минуту в консоле появляется запись вида:

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

MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
109 frames decoded (0:00:02.8), -0.4 dB peak amplitude, 0 clipped samples
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: основной цикл системы

Сообщение sergejey » Вт сен 04, 2012 12:36 pm

Vip писал(а):
sergejey писал(а): со временем ещё предстоит разобраться -- странно, что пришлось в конфиге дописывать, ну да ладно...
дописывать не пришлось, - пришлось поменять...
Там было задано Москва и изза этого отличалось от того что я вбивал в first_run.html. Похоже конфиг "overides" first_run.html
Тогда понятно... в общем можно из config.php просто убрать эту строчку и тогда будет использоваться из first_run
Vip писал(а):
sergejey писал(а):теперь что касается веб-переменных. давай попробуем проверить две вещи:
1. Находясь в корневой папке (там где /config.php) попробуй запустить такое из командной строки:

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

..\server\php\php.exe .\scripts\cycle_webvars.php
Эта команда запустит отдельно цикл обновления веб-переменных. Если всё ок, то там будет выводиться что-то вроде "Checking web-var: ...". Либо не будет ничего выводиться, если время обновления переменной ещё не пришло.
Да выводится цикличная проверка и переменные обновляются как раньше...
sergejey писал(а):2. Обновляются ли веб-переменные из панели управления через ссылку "Обновить все" ?
Да, через ссылку тоже обновляются.
UPDATE: Пробовал в \lib\threads.php менять строку формирования ссылки запуска на

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

        $command = $this->phpPath.' '.$filename;
Не помогло.
Заметил что переменные обновляются в течении минуты, а потом перестают. Такое ощущение что срабатывает какой-то таймаут.
И именно через минуту в консоле появляется запись вида:

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

MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
109 frames decoded (0:00:02.8), -0.4 dB peak amplitude, 0 clipped samples
Очень странно, что переменные только минуту обновляются... Т.е. это и при отдельном запуске цикла (по команде что выше) так происходит? Только первую минуту?

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Vip
Сообщения: 86
Зарегистрирован: Вт авг 28, 2012 5:36 pm
Откуда: Kiev, Ukraine
Благодарил (а): 4 раза
Поблагодарили: 14 раз

Re: основной цикл системы

Сообщение Vip » Вт сен 04, 2012 4:21 pm

sergejey писал(а): Очень странно, что переменные только минуту обновляются... Т.е. это и при отдельном запуске цикла (по команде что выше) так происходит? Только первую минуту?
Нет, по команде постоянно обновляются.
А через cycle.php не хочет...а то что вроди минуту обновлялось больше не повторяется..
Теперь только один раз при запуске обновилось и всё больше не обновляет до остановки и следуйщего запуска.

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

Re: основной цикл системы

Сообщение sergejey » Чт сен 20, 2012 7:42 pm

Я довольно много изменений внёс этот новый алгоритм работы циклов и сделал чтобы более наглядно было видно, какие циклы запущены и что они выдают

Изображение

Сохранил изменения в исходники -- так что смельчаков приглашаю к тестированию :)
Я сегодня ещё поставлю на основном домашнем сервере это обновление и сам посмотрю как оно себя ведёт.

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Vip
Сообщения: 86
Зарегистрирован: Вт авг 28, 2012 5:36 pm
Откуда: Kiev, Ukraine
Благодарил (а): 4 раза
Поблагодарили: 14 раз

Re: основной цикл системы

Сообщение Vip » Чт сен 27, 2012 12:43 pm

только что обновился и проблема с Веб-переменными исчезла...
Они снова отлично обновляются через указанное в настройках время.
УРА!!!
Спасибо...
Vip
Сообщения: 86
Зарегистрирован: Вт авг 28, 2012 5:36 pm
Откуда: Kiev, Ukraine
Благодарил (а): 4 раза
Поблагодарили: 14 раз

Re: основной цикл системы

Сообщение Vip » Пн окт 01, 2012 3:13 pm

Нашёл новый глюк, - перестала писаться история объектов...
В phistory значения есть и обновляются, а в таблице history пусто и ничего не добавляется...
Как следствие в админке не видны последние события объектов...
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: основной цикл системы

Сообщение sergejey » Пн окт 01, 2012 4:07 pm

Vip писал(а):Нашёл новый глюк, - перестала писаться история объектов...
В phistory значения есть и обновляются, а в таблице history пусто и ничего не добавляется...
Как следствие в админке не видны последние события объектов...
Это не глюк :)
В последней версии я отключил запись в таблицу history -- слишком много данных туда писалось и таблица росла просто чудовищно быстро.
Если важно видеть эту историю, то можно раскомментировать код в файле ./modules/objects/objects.class.php строчки 306-327 (просто убрать /* и */)

Изображение

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Vip
Сообщения: 86
Зарегистрирован: Вт авг 28, 2012 5:36 pm
Откуда: Kiev, Ukraine
Благодарил (а): 4 раза
Поблагодарили: 14 раз

Re: основной цикл системы

Сообщение Vip » Пн окт 01, 2012 10:38 pm

sergejey писал(а):
Vip писал(а):Нашёл новый глюк, - перестала писаться история объектов...
В phistory значения есть и обновляются, а в таблице history пусто и ничего не добавляется...
Как следствие в админке не видны последние события объектов...
Это не глюк :)
В последней версии я отключил запись в таблицу history -- слишком много данных туда писалось и таблица росла просто чудовищно быстро.
Если важно видеть эту историю, то можно раскомментировать код в файле ./modules/objects/objects.class.php строчки 306-327 (просто убрать /* и */)

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

Re: основной цикл системы

Сообщение sergejey » Вт окт 02, 2012 11:56 am

Vip писал(а):Так может просто сделать время жизни записей стандартным, ну или по ограничить на кол-во записей...по "принципу видеорегистратора".
А то не понятно как дебажить события объектов...
Так же не понятна разница между history и events
Вроде схожие таблицы...
Там в любом случае установлено время жизни записей в history в 30 дней, но всё равно их слишком много получается. Эта таблица как раз для дебага и предназначена... Я думаю, что будет лучше внести в настройки опцию включения/выключения записи в эту таблицу.

А events это другое -- в events пишутся события, инициированные функцией registerEvent. Последнее используется уже не для дебага, а как функциональная фича -- например, чтобы зарегистрировать событие, выполнить какое-то действие, но не выполнять его повторно, если предыдущее событие было зарегистрировано недавно (детектор движения как самый наглядный пример).

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
Ответить