Таймеры 5/10/15мин

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Ответить
avgaz
Сообщения: 39
Зарегистрирован: Пт дек 11, 2015 10:20 pm
Благодарил (а): 1 раз
Поблагодарили: 4 раза

Таймеры 5/10/15мин

Сообщение avgaz » Вт окт 29, 2019 6:12 pm

Добрый день, стандартно в системе имеется два таймера это 1 час и 1 минута onNewHour и onNewMinute как сделать такие же на 5 минут 10 минут и тд?
Chainik
Сообщения: 1128
Зарегистрирован: Вс янв 10, 2016 11:05 am
Благодарил (а): 142 раза
Поблагодарили: 355 раз

Re: Таймеры 5/10/15мин

Сообщение Chainik » Вт окт 29, 2019 6:30 pm

avgaz писал(а):
Вт окт 29, 2019 6:12 pm
Добрый день, стандартно в системе имеется два таймера это 1 час и 1 минута onNewHour и onNewMinute как сделать такие же на 5 минут 10 минут и тд?
В «onNewMinute» ниже строки «$m=date('i',time());» пишите код:

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

if ($m%5 == 0) {runScript("Имя_вашего_скрипта");}
или

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

if ($m%10 == 0) {cm("Имя_объекта.имя_метода");}
За это сообщение автора Chainik поблагодарил:
Sergey.Chek (Вт окт 29, 2019 8:02 pm)
Рейтинг: 1.23%
Аватара пользователя
xor
Сообщения: 1518
Зарегистрирован: Сб ноя 22, 2014 8:45 pm
Благодарил (а): 152 раза
Поблагодарили: 449 раз

Re: Таймеры 5/10/15мин

Сообщение xor » Ср окт 30, 2019 12:50 am

Chainik писал(а):
Вт окт 29, 2019 6:30 pm
avgaz писал(а):
Вт окт 29, 2019 6:12 pm
Добрый день, стандартно в системе имеется два таймера это 1 час и 1 минута onNewHour и onNewMinute как сделать такие же на 5 минут 10 минут и тд?
В «onNewMinute» ниже строки «$m=date('i',time());» пишите код:

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

if ($m%5 == 0) {runScript("Имя_вашего_скрипта");}
или

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

if ($m%10 == 0) {cm("Имя_объекта.имя_метода");}
эх, ну или в модуле Крон создать задачу с параметрами
*/5 * * * *
или
*/10 * * * *
или, соответственно,
*/15 * * * *
За это сообщение автора xor поблагодарил:
Lerych (Ср окт 30, 2019 1:01 pm)
Рейтинг: 1.23%
Аватара пользователя
Bagir
Сообщения: 1400
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 181 раз
Поблагодарили: 304 раза

Re: Таймеры 5/10/15мин

Сообщение Bagir » Чт окт 31, 2019 9:03 pm

Если требуется запускать код чаще чем раз в минуту, то без изменения основы можно в onNewMinute добавить код

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

setTimeOut('getWiFiclientsTimer',"runScript('getWiFiclients');",10);
и в самом скрипте, к моему примеру getWiFiclients, в конце вашего кода тоже добавить эту строку. Тогда таймеры будут запускать скрипт каждые 10 секунд.

И еще полезная штучка. В класс Timer можно добавить ещё новые объекты со своими методами onNewMinute и onNewHour. Это позволит разделить код onNewMinute на разные группы по категориям, если его очень много.
Windows XP, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Ответить