А после перезагрузки системы?
Управление циклами (сервисами)
Модератор: immortal
- andrey040670
- Сообщения: 473
- Зарегистрирован: Пн июл 31, 2017 10:00 pm
Re: Управление циклами (сервисами)
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS (bionic) Linux 4.9.241 #33 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) 6.1.68-v8+ #1708 aarch64 GNU/Linux
MJD alfa: AS-604T-F284 (ADM 3.5.9.RWM1) 3.12.20 #1 x86_64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) 6.1.68-v8+ #1708 aarch64 GNU/Linux
MJD alfa: AS-604T-F284 (ADM 3.5.9.RWM1) 3.12.20 #1 x86_64 GNU/Linux
Re: Управление циклами (сервисами)
Все то-же самое.
- andrey040670
- Сообщения: 473
- Зарегистрирован: Пн июл 31, 2017 10:00 pm
Re: Управление циклами (сервисами)
Разрешить автозагрузку:
sudo systemctl enable majordomo
sudo systemctl enable majordomo
MJD alfa: Khadas VIM1 Ubuntu 18.04.2 LTS (bionic) Linux 4.9.241 #33 aarch64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) 6.1.68-v8+ #1708 aarch64 GNU/Linux
MJD alfa: AS-604T-F284 (ADM 3.5.9.RWM1) 3.12.20 #1 x86_64 GNU/Linux
MJD alfa: Rpi 3B Debian 11 (bullseye) 6.1.68-v8+ #1708 aarch64 GNU/Linux
MJD alfa: AS-604T-F284 (ADM 3.5.9.RWM1) 3.12.20 #1 x86_64 GNU/Linux
Re: Управление циклами (сервисами)
Всем добрый день!
Не нашел в ветке и в поиске. Может есть способ получить статус цикла через getProperty или иным способом, если цикл находится в состоянии "не отвечает"?
У меня вентустановка Komfovent работает по modbus и иногда, вероятно, происходит зависание обмена. В результате цикл modbus переходит в состояние "не отвечает", хочу сделать перезапуск цикла из кода при наступлении такого события.
Не нашел в ветке и в поиске. Может есть способ получить статус цикла через getProperty или иным способом, если цикл находится в состоянии "не отвечает"?
У меня вентустановка Komfovent работает по modbus и иногда, вероятно, происходит зависание обмена. В результате цикл modbus переходит в состояние "не отвечает", хочу сделать перезапуск цикла из кода при наступлении такого события.
Re: Управление циклами (сервисами)
Первое сообщение данной темы читали?
if(!gg('cycle_modbusRun')) setGlobal('cycle_modbusControl','start');
Или
if(!gg('cycle_modbusRun')) setGlobal('cycle_modbusControl','restart');
if(!gg('cycle_modbusRun')) setGlobal('cycle_modbusControl','start');
Или
if(!gg('cycle_modbusRun')) setGlobal('cycle_modbusControl','restart');
Re: Управление циклами (сервисами)
и посмотрите систем_стейтс. там в методе System.checkState был встроен механизм оперативного перезапуска цикловdenis писал(а): Пн окт 09, 2023 9:06 am Всем добрый день!
Не нашел в ветке и в поиске. Может есть способ получить статус цикла через getProperty или иным способом, если цикл находится в состоянии "не отвечает"?
У меня вентустановка Komfovent работает по modbus и иногда, вероятно, происходит зависание обмена. В результате цикл modbus переходит в состояние "не отвечает", хочу сделать перезапуск цикла из кода при наступлении такого события.
Код: Выделить всё
$cycles = array('main'=>'главный цикл','execs'=>'цикл запуска команд','scheduler'=>'цикл планировщика');
foreach($cycles as $k=>$v) {
$tm = gg('cycle_'.$k.'Run');
if ($tm && time()-$tm > 2 * 60) {
$red_state = 1;
$details[] = $v." остановлен.";
sg('cycle_'.$k.'Run','');
sg('cycle_'.$k.'Control','restart');
}
}
win10 connect https://connect.smartliving.ru/profile/303
Re: Управление циклами (сервисами)
Первое сообщение читал, как я понял этот код получает состояние цикла "остановлен". В моем же случае цикл не останавливается, соответственно приведенный код не сработает, т.к. цикл работает, у него состояние "работает не отвечает".V.A.S.t писал(а): Пн окт 09, 2023 2:58 pm Первое сообщение данной темы читали?
if(!gg('cycle_modbusRun')) setGlobal('cycle_modbusControl','start');
Или
if(!gg('cycle_modbusRun')) setGlobal('cycle_modbusControl','restart');
Re: Управление циклами (сервисами)
Вопрос: состояние цикла "остановлен" и состояние цикла "работает не отвечает" аналогичны?xor писал(а): Пн окт 09, 2023 4:06 pmи посмотрите систем_стейтс. там в методе System.checkState был встроен механизм оперативного перезапуска цикловdenis писал(а): Пн окт 09, 2023 9:06 am Всем добрый день!
Не нашел в ветке и в поиске. Может есть способ получить статус цикла через getProperty или иным способом, если цикл находится в состоянии "не отвечает"?
У меня вентустановка Komfovent работает по modbus и иногда, вероятно, происходит зависание обмена. В результате цикл modbus переходит в состояние "не отвечает", хочу сделать перезапуск цикла из кода при наступлении такого события.
Автоматический перезапуск не происходит. В таком состоянии цикл сегодня провисел примерно час, затем заработал, вероятно таймаут запроса modbus закончился.
Есть идея как сделать "костыль", но хотелось получить состояние цикла, а после уже решать, что с ним делать.
Re: Управление циклами (сервисами)
не надо костылейdenis писал(а): Пн окт 09, 2023 9:00 pmВопрос: состояние цикла "остановлен" и состояние цикла "работает не отвечает" аналогичны?xor писал(а): Пн окт 09, 2023 4:06 pmи посмотрите систем_стейтс. там в методе System.checkState был встроен механизм оперативного перезапуска цикловdenis писал(а): Пн окт 09, 2023 9:06 am Всем добрый день!
Не нашел в ветке и в поиске. Может есть способ получить статус цикла через getProperty или иным способом, если цикл находится в состоянии "не отвечает"?
У меня вентустановка Komfovent работает по modbus и иногда, вероятно, происходит зависание обмена. В результате цикл modbus переходит в состояние "не отвечает", хочу сделать перезапуск цикла из кода при наступлении такого события.
Автоматический перезапуск не происходит. В таком состоянии цикл сегодня провисел примерно час, затем заработал, вероятно таймаут запроса modbus закончился.
Есть идея как сделать "костыль", но хотелось получить состояние цикла, а после уже решать, что с ним делать.
вы через гг('cycle_name'.'Run') получаете время его последнего ответа, вам решать, как это интерпретировать. у меня если там пусто - остановлено, если время отклика цикла давнишнее - не отвечает (за положенное время)
управление поведением через свойство cycle_name'.'Control' записью туда текста:
start, stop, restart
если остановлен, то старт
если не отвечает - рестарт
если контроль цикла через свойство не работает у вас - разбирайтесь с системой
win10 connect https://connect.smartliving.ru/profile/303