Задачи предназначены для планирования определенных действий роботом. Основное предназначение -- выполнение команд через какой-то промежуток времени от текущего, либо в какое-то определенное время.
Основные команды
1 |
AddScheduledJob("title","commands",$datetime, $expire=60); // $expire в секундах |
1 |
ClearScheduledJob("title"); // может использоваться маска типа "title%" |
1 |
SetTimeOut("title","commands", $timeout); // $timeout в секундах (аналог AddScheduledJob("title","commands",time()+$timeout)); |
1 |
ClearTimeOut("title"); // аналог ClearScheduledJob("title"); |
Примеры использования
Например, при срабатывания события от датчика движения, выключаем свет через 1 минуту после последнего движения:
1 2 3 4 5 6 7 8 9 10 11 |
// motionDetected() method example // включаем свет (команда вымышленная) If ($lightIsOff) { turnonlight(); } // сбрасываем таймер выключения //ps. При установке одноименного таймера ClearTimeOut можно не делать ClearTimeOut("TurnOffTheLight"); // ставим новый таймер SetTimeOut("TurnOffTheLight","turnofflight();",60); |
Или ставим будильник на завтра:
1 |
AddScheduledJob("alarmJey","playFile('alarm.mp3');", recognizeTime("завтра 9:30")); |
One thought on - Планирование задач
timeOutExists('title'); -- Возвращает время в секундах до старта таймера. (или 0, в случае отсутствия)