Ошибка чтения правил

Добрый день.
Вдруг перестала открываться страница Rules (виснет).
Ошибка
Error listing the scripts: MQTT RPC request timed out MqttTimeoutError

Правила сами тоже перестали работать
Куки чистил, браузер (хром) в режиме инкогнито запускал, даже контроллер перегрузил - не помогло.

Вывод команд

ps aux | grep wb-mqtt-db
root 1258 0.7 0.9 37620 4956 ? Ssl 17:28 0:26 /usr/bin/wb-mqtt-db
root 5047 1.0 1.5 37624 7996 pts/0 Tl 18:25 0:02 /usr/bin/wb-mqtt-db -c /etc/wb-mqtt-db.conf
root 5287 0.0 0.1 2080 516 pts/1 S+ 18:29 0:00 grep wb-mqtt-db

dpkg -l wb-mqtt-db
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
++±=============================================-===========================-===========================-===============================================================================================
ii wb-mqtt-db 2.1.0 armhf Wiren Board database logger

/usr/bin/wb-mqtt-db -c /etc/wb-mqtt-db.conf
MQTT broker localhost:1883
Config file /etc/wb-mqtt-db.conf
INFO: [sqlite] Creating tables if necessary
INFO: [sqlite] Create indices if necessary
INFO: [sqlite] Analyzing data table
INFO: [sqlite] DB initialization is done
INFO: DB logger started, go to main loop
INFO: [mqtt] connection estabilished with code “0”
INFO: [mqtt] subscription succeeded (message id 1)
INFO: [mqtt] subscription succeeded (message id 2)
INFO: [mqtt] subscription succeeded (message id 3)
WARNING: [mqtt] connection lost
INFO: [mqtt] connection estabilished with code “0”
INFO: [mqtt] subscription succeeded (message id 6)
INFO: [mqtt] subscription succeeded (message id 7)
INFO: [mqtt] subscription succeeded (message id 8)
WARNING: [mqtt] connection lost

Добрый день.
Проверьте пожалуйста, запущен ли wb-rules.
Если нет - запустите, посмотрите есть ли ошибки в его логах.

запущен

# ps -ef|grep wb-rules

root 1153 1 57 17:28 ? 01:22:45 /usr/bin/wb-rules -syslog -editdir /etc/wb-rules/ /usr/share/wb-rules-system/rules/ /etc/wb-rules/ /usr/share/wb-rules/

Сейчас упал третий раз во время сохранения правила, теперь можно сказать с уверенностью, что из-за скрипта.
Потом около часа лежит, и затем поднимается самостоятельно.

Скрипт конечно не чудо программистской мысли, но не должен же движок падать из-за ошибок там…

А в логах wb-rules есть какие-либо ошибки?

Здравствуйте! Можно попробовать локализовать проблему в правилах: сделать резервную копию всех правил, удалить все собственные правила на контроллере и добавлять по одному, чтобы определить, в каком из них причина. Потом то же самое внутри правила: добавлять туда по частям код (или удалять по частям).

Удалось локализовать проблему
Была ошибка в цикле с итерационной переменной, цикл получался бесконечный, что сразу убивало движок wb-rules

1 лайк

От бесконечных циклов - да, может падать.

Эта тема была автоматически закрыта через 7 дней после последнего ответа. В ней больше нельзя отвечать.