Страница 5 из 7
Re: Мониторинг состояния системы
Добавлено: Вт сен 10, 2019 11:59 am
ansid
Divan писал(а): Вт сен 10, 2019 11:43 am
Методы можно добавлять только в основном объекте, а в под объекте, методы можно только настраивать. Смотрите скриншот ниже.
в итоге так и сделал, но метод не работает. Проверьте мне код плз, мало опыта с пхп.
Код: Выделить всё
$details=array();
$yellow_state=0;
if (!isOnline('82.207.45.207')) {
$yellow_state=1;
$details[]=LANG_GENERAL_NO_ACCESS;
}
if ($yellow_state) {
$state='yellow';
$state_title=LANG_GENERAL_YELLOW;
} else {
$state='green';
$state_title=LANG_GENERAL_GREEN;
}
$new_details=implode(". ",$details);
if ($this->getProperty("remDetails")!=$new_details) {
$this->setProperty('remDetails',$new_details);
}
if ($this->getProperty('remColor')!=$state) {
$this->setProperty('remColor',$state);
$this->setProperty('remTitle',$state_title);
if ($state!='green') {
say(LANG_GENERAL_COMMUNICATION_STATE." ".LANG_GENERAL_CHANGED_TO." ".$state_title.".");
say(implode(". ",$details));
} else {
say(LANG_GENERAL_COMMUNICATION_STATE." ".LANG_GENERAL_RESTORED_TO." ".$state_title);
}
$this->callMethod('remchanged');
}
Re: Мониторинг состояния системы
Добавлено: Вт сен 10, 2019 1:20 pm
nick7zmail
Мне кажется ваша проблема в другом. Вы просто НЕ запускаете метод. По этому при ручном запуске у вас всё сработало. А автоматически надо настроить периодический запуск метода. Тут несколько вариантов.
1) поместить запуск метода (команду, которую выше приводил) в метод onNewHour/onNewMinute в класс Timers или в объект ClockChime этого класса. Эти методы запускаются автоматически системой раз в час/раз в минуту. Если раз в минуту запускать вам будет достаточно - можно и на этом остановиться.
2) сделать "самоперезапускающийся" таймер, который будет запускаться раз в указанное время (где то была тема, лень искать, да и вариант не лучший)
3) воспользоваться модулем Cron, и поставить метод на запуск опять же раз в указанный промежуток.
4) Поместить ваш объект вместе с методами в класс SystemStates. У данного класса метод StatusCheck или как там он - запускается раз в 5 секунд. Весь код переместить туда. Думаю этого более чем достаточно будет.
Re: Мониторинг состояния системы
Добавлено: Вт сен 10, 2019 1:38 pm
nick7zmail
Divan писал(а): Вт сен 10, 2019 11:43 am
Методы можно добавлять только в основном объекте, а в под объекте, методы можно только настраивать. Смотрите скриншот ниже.
То что наверху называется "класс", а внизу как раз - "объект". И настроить можно на уровне класса. У человека как раз как будто через класс код написан, с конструкциями $this->.
Re: Мониторинг состояния системы
Добавлено: Вт сен 10, 2019 1:39 pm
ansid
Еще вопрос: в классе systemStates у всех объектов только checkState, а у моего еще и remchanged выполняется, как это исправить?
Re: Мониторинг состояния системы
Добавлено: Вт сен 10, 2019 2:27 pm
nick7zmail
Для начала - скажите где у вас код? В классе, или в методе объекта? Если в методе объекта, и если такой, как вы выше привели - строка $this->callMethod('remchanged'); по идее вызовет метод remchanged при указанных условиях.
Re: Мониторинг состояния системы
Добавлено: Вт сен 10, 2019 2:55 pm
ansid
nick7zmail писал(а): Вт сен 10, 2019 2:27 pm
Для начала - скажите где у вас код? В классе, или в методе объекта? Если в методе объекта, и если такой, как вы выше привели - строка $this->callMethod('remchanged'); по идее вызовет метод remchanged при указанных условиях.
уже разобрался - в настройках метода remchanged было выбрано выполнять код, переключил на сценарий и стало все норм. уже все работает, сделал через systemState и его методы. И создал отдельную панельку с сообщениями про узлы так же как про статусы системы.
Еще вопрос: А как заставить функцию say проговаривать написанное? Ато она только в лог сообщение выводит
Re: Мониторинг состояния системы
Добавлено: Вт сен 10, 2019 4:07 pm
nick7zmail
Приоритет поменять
say('бла бла бла', 3);
Либо MinMsgLevel в ThisComputer поменять. Там минимальный уровень важности при котором сообщения начинают произносится. По-умолчанию вроде 2.
Re: Мониторинг состояния системы
Добавлено: Вт сен 10, 2019 9:34 pm
ansid
А есть какая нибудь инструкция по первичной настройке и принципу работы системы, основным функциям? Чтобы не задавать кучу вопросов для решения задачи, а их еще будет очень много.
Re: Мониторинг состояния системы
Добавлено: Вт сен 10, 2019 9:44 pm
Jilber
Кое что есть здесь:
https://kb.mjdm.ru/
Re: Мониторинг состояния системы
Добавлено: Ср сен 11, 2019 10:17 am
ansid
Есть кнопка на левой панели, говорящая время. Если ее нажать в Majordroid, время говорит 3 раза. Как это вылечить?