Страница 1 из 1

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

Добавлено: Вт окт 29, 2019 6:12 pm
avgaz
Добрый день, стандартно в системе имеется два таймера это 1 час и 1 минута onNewHour и onNewMinute как сделать такие же на 5 минут 10 минут и тд?

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

Добавлено: Вт окт 29, 2019 6:30 pm
Chainik
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("Имя_объекта.имя_метода");}

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

Добавлено: Ср окт 30, 2019 12:50 am
xor
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 * * * *

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

Добавлено: Чт окт 31, 2019 9:03 pm
Bagir
Если требуется запускать код чаще чем раз в минуту, то без изменения основы можно в onNewMinute добавить код

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

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

И еще полезная штучка. В класс Timer можно добавить ещё новые объекты со своими методами onNewMinute и onNewHour. Это позволит разделить код onNewMinute на разные группы по категориям, если его очень много.