Страница 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 на разные группы по категориям, если его очень много.