Страница 5 из 6

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

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

Что то я дольше даже не наблюдаю участие массива $restart_threads из config.php в cycle.php, да и вообще где либо. Я круто отстал от жизни МД...
$restart_threads сейчас не используется, работа циклов сейчас активно оптимизируется, кхм, группой энтузиастов и Сергеем одновременно. Сейчас там некие турбулентности наблюдаются, да(
проверил сейчас у себя - остановленный вручную цикл стопорится, но не попадает в список авторестарта. всё ок

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

Добавлено: Пт июн 05, 2020 1:03 am
Bagir
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
проверил сейчас у себя - остановленный вручную цикл стопорится, но не попадает в список авторестарта. всё ок
Будем разбираться. Завтра обновлюсь из архива и сравню код. У меня вообще всё попадает в авторестарт, а новый механизм перезапуска циклов я ещё не изучал. Туда даже попадает мой новый, только что созданный цикл. После остановки он сразу же запускается. Завтра буду расставлять маркеры и попробую выяснить что к чему.

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

Добавлено: Пт июн 05, 2020 1:10 am
Logrus
все запущенные в авторестарт по ханг перезапуск через 30 минут
но есть еще в админке класс системстатес там можешь нужное раньше

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

Добавлено: Пт июн 05, 2020 10:19 pm
Bagir
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;
 }
}
Там что то ещё появилось по части управления?

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

Добавлено: Сб июн 06, 2020 1:43 am
Logrus
все тоже самое, но можно ж самому дописать
в контроль старт/рестарт и стоп при последнем не добавляется в авторестарт который через 30 минут, а падающий иногда блютуз у меня стартует через 3 мин из кода выше
все зависит от задачи, а инструмент позволяет реализовать не сложно любую

п.с. при рестарте в этот комп все чистится, т.ч. условие дополни тм и тайм минус тм больше ......
п.п.с и еще нюанс у тебя реакция 10 мин а проверка раз в 5 сек не кучеряво?

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

Добавлено: Сб июн 06, 2020 10:56 am
Bagir
Logrus писал(а):
Сб июн 06, 2020 1:43 am
но можно ж самому дописать
Конечно можно, просто я понял, что там уже что то добавили, о чем я не знал.
Logrus писал(а):
Сб июн 06, 2020 1:43 am
в контроль старт/рестарт и стоп при последнем не добавляется в авторестарт который через 30 минут
Вот с этим мне в первую очередь надо разобраться. Где сейчас сделан этот контроль, и в какую таблицу попадают задачи на авторестарт цикла. Ещё где то на форуме видел функции для запуска и остановки циклов по имени, если не ошибаюсь.
Logrus писал(а):
Сб июн 06, 2020 1:43 am
у тебя реакция 10 мин а проверка раз в 5 сек не кучеряво?
Конечно кучеряво, но в объектах класса systemStates кроме этого кода, который привел выше, ещё много всего другого есть, и не только для циклов. А вообще, верно, возможно стоит поставить общее условие if() по времени на группу с кодом проверок, чтобы не выполнялось так часто. Просто так было когда то "из коробки", вот до сих пор и дожило.

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

Добавлено: Вс июн 07, 2020 11:22 am
Bagir
Как запретить своему циклу попадать в авторекавери?
И чего то не найду функции для запуска и остановки циклов.

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

Добавлено: Вс июн 07, 2020 2:09 pm
Logrus
этоткомп.имяциклаКонтроль стоп, старт, рестарт
в цикл.пхп это все видно, рулит циклами только он, а контролирует их через свойства
при рестарте все эти свойства чистятся и даже дисейбл который проверяется при запуске ...

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

Добавлено: Вс июн 07, 2020 6:05 pm
Bagir
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')";
Теперь понятно как управлять циклами. Я долго топтался у этого момента, а вот сейчас мозаика в голове сложилась.

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

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