[Модуль] MQTT (mqtt)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

amelnyk
Сообщения: 78
Зарегистрирован: Вт ноя 22, 2016 12:17 am
Благодарил (а): 13 раз
Поблагодарили: 2 раза

Re: [Модуль] MQTT (mqtt)

Сообщение amelnyk » Вт ноя 30, 2021 2:39 pm

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

Write method (По умолчанию): 
New connection  
Queue
подскажите кто-нить. что за волшебная настройка? суть примерно я улавливаю, а вот на практике что и когда лучше юзать?
За это сообщение автора amelnyk поблагодарил:
Svetлая (Вт ноя 30, 2021 9:02 pm)
Рейтинг: 1.16%
Аватара пользователя
xor
Сообщения: 2036
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 283 раза
Поблагодарили: 628 раз

Re: [Модуль] MQTT (mqtt)

Сообщение xor » Чт дек 02, 2021 5:27 pm

amelnyk писал(а):
Вт ноя 30, 2021 2:39 pm

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

Write method (По умолчанию): 
New connection  
Queue
подскажите кто-нить. что за волшебная настройка? суть примерно я улавливаю, а вот на практике что и когда лучше юзать?
это разные способы опроса москита. первый - хорош при редких опросах и малом количестве устройств, второй - увеличивает быстроту отклика, но за счет увеличения запросов к таблице очереди. до 10 в сек, точно не помню
За это сообщение автора xor поблагодарил:
amelnyk (Ср дек 15, 2021 12:48 am)
Рейтинг: 1.16%
Sawwa
Сообщения: 58
Зарегистрирован: Вс мар 29, 2020 10:39 am
Благодарил (а): 13 раз
Поблагодарили: 7 раз

Re: [Модуль] MQTT (mqtt)

Сообщение Sawwa » Пт дек 03, 2021 2:42 pm

Коллеги, приветствую!

Подскажите плз, запарил уже модуль.

Как бороться с его отвалами в оффлайн?

С некоторых пор, наверное с середины года это появилось, откатывать на старые версии и бороться с глюком было некогда.

Теперь этот глюк окончательно достал.

есть какие-то методы перезапуска цикла после падения, или хотябы вывода сообщения об этом падении?

Остальное в Мажорике уже вроде притерлось, а самый важный для меня модуль продолжает "моросить"

Еще и периодические отвалы WiFi Модуля на сервере, тоже сильно напрягают. Но отвалы WiFi с отвалами модуля MQTT не связаны вроде как, я проверял
Аватара пользователя
andrey040670
Сообщения: 458
Зарегистрирован: Пн июл 31, 2017 10:00 pm
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Re: [Модуль] MQTT (mqtt)

Сообщение andrey040670 » Пт дек 03, 2021 3:00 pm

Смотрите в сторону москита.
При потере связи с москитом цикл падает до востановления, это нормальное поведение модуля.
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS bionic Linux 4.9.40 #2 SMP PREEMPT Tue Oct 30 15:47:54 CST 2018 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
Sawwa
Сообщения: 58
Зарегистрирован: Вс мар 29, 2020 10:39 am
Благодарил (а): 13 раз
Поблагодарили: 7 раз

Re: [Модуль] MQTT (mqtt)

Сообщение Sawwa » Пт дек 03, 2021 5:40 pm

andrey040670 писал(а):
Пт дек 03, 2021 3:00 pm
Смотрите в сторону москита.
При потере связи с москитом цикл падает до востановления, это нормальное поведение модуля.
Честно говоря, давно не ковырялся в Мажорике, и уже не помню, как там смотреть в Москиту... :roll:

Вот что пишет в логе ошибок, таки от MQTT идет какая-то ошибка

Что бы это значило?

2021-12-03 00:22:47 cycle_hang

cycle_mqtt
Backtrace:
#0 /var/www/cycle.php(371): registerError()
#1 {main}
Аватара пользователя
xor
Сообщения: 2036
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 283 раза
Поблагодарили: 628 раз

Re: [Модуль] MQTT (mqtt)

Сообщение xor » Пт дек 03, 2021 5:53 pm

Sawwa писал(а):
Пт дек 03, 2021 5:40 pm
andrey040670 писал(а):
Пт дек 03, 2021 3:00 pm
Смотрите в сторону москита.
При потере связи с москитом цикл падает до востановления, это нормальное поведение модуля.
Честно говоря, давно не ковырялся в Мажорике, и уже не помню, как там смотреть в Москиту... :roll:

Вот что пишет в логе ошибок, таки от MQTT идет какая-то ошибка

Что бы это значило?

2021-12-03 00:22:47 cycle_hang

cycle_mqtt
Backtrace:
#0 /var/www/cycle.php(371): registerError()
#1 {main}
если цикл упал, он восстановится через 30 минут по умолчанию. это время перезапуска можно сократить. посмотрите метод System.checkState, там ряд циклов проверяется на падение чаще.

как-то так

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

$cycles = array('main'=>'главный цикл','execs'=>'цикл запуска команд','scheduler'=>'цикл планировщика','smtpcatcher'=>'цикл smtp','wscache'=>'цикл очереди ws');//,'wscache'=>'цикл очереди ws'
foreach($cycles as $k=>$v) {
...
//тут рестарт этих циклов
Sawwa
Сообщения: 58
Зарегистрирован: Вс мар 29, 2020 10:39 am
Благодарил (а): 13 раз
Поблагодарили: 7 раз

Re: [Модуль] MQTT (mqtt)

Сообщение Sawwa » Сб дек 04, 2021 11:39 am

xor писал(а):
Пт дек 03, 2021 5:53 pm

если цикл упал, он восстановится через 30 минут по умолчанию. это время перезапуска можно сократить. посмотрите метод System.checkState, там ряд циклов проверяется на падение чаще.

как-то так

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

$cycles = array('main'=>'главный цикл','execs'=>'цикл запуска команд','scheduler'=>'цикл планировщика','smtpcatcher'=>'цикл smtp','wscache'=>'цикл очереди ws');//,'wscache'=>'цикл очереди ws'
foreach($cycles as $k=>$v) {
...
//тут рестарт этих циклов
Здравствуйте. Нет, цикл не восстанавливается после падения, ни через 30 мин,лежит и все

А метод метод System.checkState где посмотреть? В самом модуле MQTT, или в Cycle.php ? Направьте пожалуйста, често не хочу халявничать но год как не лазил в Мажорик, так и позабыл,где чего крутить надо...
Аватара пользователя
xor
Сообщения: 2036
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 283 раза
Поблагодарили: 628 раз

Re: [Модуль] MQTT (mqtt)

Сообщение xor » Сб дек 04, 2021 12:25 pm

Sawwa писал(а):
Сб дек 04, 2021 11:39 am
xor писал(а):
Пт дек 03, 2021 5:53 pm

если цикл упал, он восстановится через 30 минут по умолчанию. это время перезапуска можно сократить. посмотрите метод System.checkState, там ряд циклов проверяется на падение чаще.

как-то так

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

$cycles = array('main'=>'главный цикл','execs'=>'цикл запуска команд','scheduler'=>'цикл планировщика','smtpcatcher'=>'цикл smtp','wscache'=>'цикл очереди ws');//,'wscache'=>'цикл очереди ws'
foreach($cycles as $k=>$v) {
...
//тут рестарт этих циклов
Здравствуйте. Нет, цикл не восстанавливается после падения, ни через 30 мин,лежит и все

А метод метод System.checkState где посмотреть? В самом модуле MQTT, или в Cycle.php ? Направьте пожалуйста, често не хочу халявничать но год как не лазил в Мажорик, так и позабыл,где чего крутить надо...
забейте System.checkState в поиск в панели управления. это объект и название метода. базовые вещи же(
Аватара пользователя
andrey040670
Сообщения: 458
Зарегистрирован: Пн июл 31, 2017 10:00 pm
Благодарил (а): 161 раз
Поблагодарили: 85 раз

Re: [Модуль] MQTT (mqtt)

Сообщение andrey040670 » Сб дек 04, 2021 12:32 pm

Если цикл упал и не востанавливается, то внроятней всего упал москит.
Вероятней всего поможет:

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

sudo service mosquitto restart
Да и логи маскита глянуть не мешало бы, /var/log/mosquitto/
P/s
Если вы давно давно не обслуживали сервер, то я бы рекомендовал бы вам обновить систему, скорей всего обновится и маскит.

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

sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get autoremove
sudo apt-get clean
sudo apt-get autoclean
За это сообщение автора andrey040670 поблагодарил:
Sawwa (Сб дек 04, 2021 3:53 pm)
Рейтинг: 1.16%
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS bionic Linux 4.9.40 #2 SMP PREEMPT Tue Oct 30 15:47:54 CST 2018 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr 3 17:24:16 BST 2023 aarch64 GNU/Linux
Sawwa
Сообщения: 58
Зарегистрирован: Вс мар 29, 2020 10:39 am
Благодарил (а): 13 раз
Поблагодарили: 7 раз

Re: [Модуль] MQTT (mqtt)

Сообщение Sawwa » Пн дек 06, 2021 3:01 pm

xor писал(а):
Сб дек 04, 2021 12:25 pm

забейте System.checkState в поиск в панели управления. это объект и название метода. базовые вещи же(
Здравствуйте.Так и не дает покоя мне этот вопрос.
Пришел к выводу, что первично отпадение wi-fi модема, интернет пропадает (обнаруживается отвал websocet)
Затем падает MQTT, но почему-то система делает только одну попытку его восстановления, заносит в список autorecovery, а дальше все

Причем Websocket восстанавливается после подключения интернета, а два цикла- MQTT и Xiaomihome-не восстанавливаются почему-то

System.checkState я нашел в методах, там вот чего:

$details=array();
$red_state=0;
$yellow_state=0;

$cycles=array('states'=>'states','main'=>'main','execs'=>'exec','scheduler'=>'scheduler');
foreach($cycles as $k=>$v) {
$tm=getGlobal('ThisComputer.cycle_'.$k.'Run');
if (time()-$tm>5*60) {
$red_state=1;
$details[]=$v." ".LANG_GENERAL_CYCLE." ".LANG_GENERAL_STOPPED.".";
}
}

$cycles=array('ping'=>'ping');
foreach($cycles as $k=>$v) {
$tm=getGlobal('ThisComputer.cycle_'.$k.'Run');
if (time()-$tm>10*60) {
$yellow_state=1;
$details[]=$v." ".LANG_GENERAL_CYCLE." ".LANG_GENERAL_STOPPED.".";
}
}

Ну дальше логика включения светофора по степени активности системы

Время рестарта циклов по-моему итак маленькое, 5 и 10 мин. Может быть время рестарта наоборот увеличить?

Где поискать количество циклов рестарта, подскажите пожалуйста :roll:

У меня еще идея возникла- как бы сделать индикацию какую-то, сообщение чтоли что интернет упал.
Чтоб на смарт чтоли присылал Мажор.

Откуда можно вытащить такое сообщение?

Буду также ковырять Ubuntu20, на тему отвалов wi-fi Народ в инете пишет, что есть такая проблема с 20й Убунтой, переустанавливать систему край как неохота, но отвалы эти уже достали :(

Благодарю за помощь!
Ответить