Периодически запуск сценариев

Новые релизы, обновления и т.п.

Модератор: immortal

Аватара пользователя
xor
Сообщения: 1722
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 205 раз
Поблагодарили: 512 раз

Re: Периодически запуск сценариев

Сообщение xor » Чт июн 04, 2020 9:30 pm

Bagir писал(а):
Чт июн 04, 2020 8:50 pm
Вот только ещё один момент, на моем пути к теме топика. Ранее не написал, думал что грабли лежат на траве, а нет, спрятаны. Когда я жму кнопку Stop в xray -> Services, циклы успешно останавливаются, но затем сразу стартуют по новой. Похоже куда то переехали правила авторекавери.

Что то я дольше даже не наблюдаю участие массива $restart_threads из config.php в cycle.php, да и вообще где либо. Я круто отстал от жизни МД...
$restart_threads сейчас не используется, работа циклов сейчас активно оптимизируется, кхм, группой энтузиастов и Сергеем одновременно. Сейчас там некие турбулентности наблюдаются, да(
проверил сейчас у себя - остановленный вручную цикл стопорится, но не попадает в список авторестарта. всё ок
Аватара пользователя
Bagir
Сообщения: 1485
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 337 раз

Re: Периодически запуск сценариев

Сообщение Bagir » Пт июн 05, 2020 1:03 am

Logrus писал(а):
Чт июн 04, 2020 9:24 pm
массив выкинь его
xor писал(а):
Чт июн 04, 2020 9:30 pm
$restart_threads сейчас не используется
Просматривая код я это уже понял. Но вопрос по proc_terminate для меня ещё актуален. Тогда где же сейчас мы указываем, кому нужен рестарт после аварии, а кому нет?
Logrus писал(а):
Чт июн 04, 2020 9:24 pm
а по стоп все работает
xor писал(а):
Чт июн 04, 2020 9:30 pm
проверил сейчас у себя - остановленный вручную цикл стопорится, но не попадает в список авторестарта. всё ок
Будем разбираться. Завтра обновлюсь из архива и сравню код. У меня вообще всё попадает в авторестарт, а новый механизм перезапуска циклов я ещё не изучал. Туда даже попадает мой новый, только что созданный цикл. После остановки он сразу же запускается. Завтра буду расставлять маркеры и попробую выяснить что к чему.
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Logrus
Сообщения: 1737
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 295 раз
Поблагодарили: 358 раз

Re: Периодически запуск сценариев

Сообщение Logrus » Пт июн 05, 2020 1:10 am

все запущенные в авторестарт по ханг перезапуск через 30 минут
но есть еще в админке класс системстатес там можешь нужное раньше
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
Bagir
Сообщения: 1485
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 337 раз

Re: Периодически запуск сценариев

Сообщение Bagir » Пт июн 05, 2020 10:19 pm

Logrus писал(а):
Пт июн 05, 2020 1:10 am
все запущенные в авторестарт по ханг перезапуск через 30 минут
Увы не получилось сегодня поработать с МД. Зашел только форум посмотреть. Мне надо будет расковырять алгоритм попадания циклов в авторестарт. У меня была идея добавить свой цикл, для периодических задач, и стартовать его по команде. По завершению процесса останавливать цикл. После обновления мне теперь нужно разобраться как это всё работает. Завтра буду изучать.
Logrus писал(а):
Пт июн 05, 2020 1:10 am
есть еще в админке класс системстатес
Уже несколько лет использую systemStates. Добавил туда ещё пару своих объектов. Я думал, что всё про него знаю. По части контроля работы циклов, использую такой код:

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

$cycles=array('ping'=>'цикл пинг');
foreach($cycles as $k=>$v) {
 $tm=getGlobal('ThisComputer.cycle_'.$k.'Run');
 if (time()-$tm>10*60) {
  $yellow_state=1;
  $details[]="Остановлен ".$v;
 }
}
Там что то ещё появилось по части управления?
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Logrus
Сообщения: 1737
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 295 раз
Поблагодарили: 358 раз

Re: Периодически запуск сценариев

Сообщение Logrus » Сб июн 06, 2020 1:43 am

все тоже самое, но можно ж самому дописать
в контроль старт/рестарт и стоп при последнем не добавляется в авторестарт который через 30 минут, а падающий иногда блютуз у меня стартует через 3 мин из кода выше
все зависит от задачи, а инструмент позволяет реализовать не сложно любую

п.с. при рестарте в этот комп все чистится, т.ч. условие дополни тм и тайм минус тм больше ......
п.п.с и еще нюанс у тебя реакция 10 мин а проверка раз в 5 сек не кучеряво?
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
Bagir
Сообщения: 1485
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 337 раз

Re: Периодически запуск сценариев

Сообщение Bagir » Сб июн 06, 2020 10:56 am

Logrus писал(а):
Сб июн 06, 2020 1:43 am
но можно ж самому дописать
Конечно можно, просто я понял, что там уже что то добавили, о чем я не знал.
Logrus писал(а):
Сб июн 06, 2020 1:43 am
в контроль старт/рестарт и стоп при последнем не добавляется в авторестарт который через 30 минут
Вот с этим мне в первую очередь надо разобраться. Где сейчас сделан этот контроль, и в какую таблицу попадают задачи на авторестарт цикла. Ещё где то на форуме видел функции для запуска и остановки циклов по имени, если не ошибаюсь.
Logrus писал(а):
Сб июн 06, 2020 1:43 am
у тебя реакция 10 мин а проверка раз в 5 сек не кучеряво?
Конечно кучеряво, но в объектах класса systemStates кроме этого кода, который привел выше, ещё много всего другого есть, и не только для циклов. А вообще, верно, возможно стоит поставить общее условие if() по времени на группу с кодом проверок, чтобы не выполнялось так часто. Просто так было когда то "из коробки", вот до сих пор и дожило.
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Аватара пользователя
Bagir
Сообщения: 1485
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 337 раз

Re: Периодически запуск сценариев

Сообщение Bagir » Вс июн 07, 2020 11:22 am

Как запретить своему циклу попадать в авторекавери?
И чего то не найду функции для запуска и остановки циклов.
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Logrus
Сообщения: 1737
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 295 раз
Поблагодарили: 358 раз

Re: Периодически запуск сценариев

Сообщение Logrus » Вс июн 07, 2020 2:09 pm

этоткомп.имяциклаКонтроль стоп, старт, рестарт
в цикл.пхп это все видно, рулит циклами только он, а контролирует их через свойства
при рестарте все эти свойства чистятся и даже дисейбл который проверяется при запуске ...
За это сообщение автора Logrus поблагодарил:
Bagir (Вс июн 07, 2020 6:00 pm)
Рейтинг: 1.19%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
Bagir
Сообщения: 1485
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 187 раз
Поблагодарили: 337 раз

Re: Периодически запуск сценариев

Сообщение Bagir » Вс июн 07, 2020 6:05 pm

Logrus писал(а):
Вс июн 07, 2020 2:09 pm
при рестарте все эти свойства чистятся и даже дисейбл который проверяется при запуске ...
СПАСИБО! нашел

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

// Removing cycles properties
$qry="1 AND (TITLE LIKE 'cycle%Run' OR TITLE LIKE 'cycle%Control' OR TITLE LIKE 'cycle%Disabled' OR TITLE LIKE 'cycle%AutoRestart')";
Теперь понятно как управлять циклами. Я долго топтался у этого момента, а вот сейчас мозаика в голове сложилась.
Windows 7, HTTP, MegaD, Z-Wave, 1-Wire
Chainik
Сообщения: 1314
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 203 раза
Поблагодарили: 410 раз

Re: Периодически запуск сценариев

Сообщение Chainik » Вс июн 07, 2020 7:22 pm

Bagir писал(а):
Вс июн 07, 2020 6:05 pm
...
Теперь понятно как управлять циклами. Я долго топтался у этого момента, а вот сейчас мозаика в голове сложилась.
Bagir, вы как найдете устраивающий вас вариант работы цикла, напишите здесь, пожалуйста, что у вас получилось в итоге. Уверен, очень многим будет полезно.
Ответить