Страница 1 из 1
$prevRunPassed
Добавлено: Ср апр 25, 2018 10:37 pm
webms
а как использовать вст. функцию $prevRunPassed?
у меня задача, нужно узнать сколько времени прошло с последнего вызова
в мануале нашел $prevRunPassed
Re: $prevRunPassed
Добавлено: Ср апр 25, 2018 10:43 pm
skysilver
webms писал(а): ↑Ср апр 25, 2018 10:37 pm
в мануале нашел $prevRunPassed
В каком мануале?
Re: $prevRunPassed
Добавлено: Ср апр 25, 2018 10:43 pm
webms
skysilver писал(а): ↑Ср апр 25, 2018 10:43 pm
webms писал(а): ↑Ср апр 25, 2018 10:37 pm
в мануале нашел $prevRunPassed
В каком мануале?
https://kb.smartliving.ru/vstroennie-v- ... o-funkcii/
вызываю в методе, по инструкции.. но работать не хочет =(
Re: $prevRunPassed
Добавлено: Ср апр 25, 2018 10:45 pm
webms
Код: Выделить всё
/* СТАРЫЙ КОД
if (gg('IN4.pressIN4') == '1') { //нажатие кнопки
if (gg('P4.status') == '1' && gg('IN4.avtostart') == '1')
{
$interval = time() - gg('IN4.TaimerNajatie');
if ($interval >= gg('IN4.setingTimeSTARTventilyatora') * 60)
{
sg('P1.status', 1);
setTimeOut("IN4process", "sg('P1.status',0);", gg('IN4.setingTimeOUTventilyatora') * 60);
}
} else {
$this -> setProperty('TaimerNajatie', time());
}
}
*/
sg('P1.test', $prevRunPassed);
if (gg('IN4.pressIN4') && gg('P4.status') && gg('IN4.avtostart')) {
if ($prevRunPassed >= gg('IN4.setingTimeSTARTventilyatora') * 60) {
sg('P1.status', 1);
setTimeOut("IN4process", "sg('P1.status',0);", gg('IN4.setingTimeOUTventilyatora') * 60);
}
}
//$prevRunPassed -- сколько секунд прошло с последнего вызова
Re: $prevRunPassed
Добавлено: Ср апр 25, 2018 10:51 pm
skysilver
Дичь какая-то. )) Первый раз такое вижу. В исходниках ядра только одно упоминание про prevRunPassed и то закомментированное.
Re: $prevRunPassed
Добавлено: Ср апр 25, 2018 11:32 pm
fandaymon
В классе объектов есть такая переменная
if (defined('SETTINGS_DEBUG_HISTORY') && SETTINGS_DEBUG_HISTORY==1) {
$class_object=SQLSelectOne("SELECT NOLOG FROM classes WHERE ID='".$this->class_id."'");
if (!$class_object['NOLOG']) {
$prevLog=SQLSelectOne("SELECT ID, UNIX_TIMESTAMP(ADDED) as UNX FROM history WHERE OBJECT_ID='".$this->id."' AND METHOD_ID='".$method['ID']."' ORDER BY ID DESC LIMIT 1");
if ($prevLog['ID']) {
$prevRun=$prevLog['UNX'];
$prevRunPassed=time()-$prevLog['UNX'];
}
Я так понимаю при установленном SETTINGS_DEBUG_HISTORY и NOLOG=false для данного класса, можно в методе получить $prevRunPassed в качестве переменной
Судя по тому что у меня history пустая, видимо SETTINGS_DEBUG_HISTORY нигде не установлена. Можно попробовать добавить define в config и глянуть - изменится ли что-нибудь
Re: $prevRunPassed
Добавлено: Ср апр 25, 2018 11:34 pm
webms
чего то не понял как это сделать)
Re: $prevRunPassed
Добавлено: Ср апр 25, 2018 11:55 pm
fandaymon
webms писал(а): ↑Ср апр 25, 2018 11:34 pm
чего то не понял как это сделать)
В config.php добавить строчку
Define('SETTINGS_DEBUG_HISTORY', 1);
и наверное перезапустить мажордомо. После чего дождаться отработки каких-нибудь методов и посмотреть появились ли какие-нибудь записи в таблице history.
А сработает или нет - знает только автор
Re: $prevRunPassed
Добавлено: Чт апр 26, 2018 5:20 am
Logrus
а последствия не хуже ли будут для объема бд, чем единичный длинный код?
Re: $prevRunPassed
Добавлено: Чт апр 26, 2018 9:08 am
webms
Logrus писал(а): ↑Чт апр 26, 2018 5:20 am
а последствия не хуже ли будут для объема бд, чем единичный длинный код?
тоже об этом подумал.
решил оставить изначальную версию
fandaymon, спасибо за ответ