定时任务

AbleCloud支持针对设备的定时任务,比如每天的固定时间向设备发送指令,控制设备运行特定的功能。定时任务主要由三部分组成:执行任务的时间规则、任务执行时要发给设备的指令,以及权限和认证信息——定义任务的用户及执行任务的设备。

添加定时任务

// 实例化ACTimerTaskMgr对象
$timerTaskMgr = ACClient::getTimerTaskMgr();
// 配置定时任务
$task = new ACTimerTask();
// 设置$task的属性
// ......
// 向云端添加任务
$timerTaskMgr->addTask($task, $user);

上述例子中,ACTimerTask对象用于配置任务的相关属性:执行任务的时间规则、任务执行时要发给设备的指令、定义任务的用户以及执行任务的设备。

查询定时任务列表

// 查询已配置的定时任务的列表
$tasks = $timerTaskMgr->listTasks($user, $deviceId);

启动定时任务

// 查询已配置的定时任务的列表,从中找到要启动的定时任务,记录其ID。
$tasks = $timerTaskMgr->listTasks($user, $deviceId);
// 找到要启动的任务的ID,记为$taskId。
// 启动该任务
$timerTaskMgr->startTask($user, $deviceId, $taskId);

停止定时任务

// 查询已配置的定时任务的列表,从中找到要停止的的定时任务,记录其ID。
$tasks = $timerTaskMgr->listTasks($user, $deviceId);
// 找到要停止的任务的ID,记为$taskId。
// 停止该任务
$timerTaskMgr->stopTask($user, $deviceId, $taskId);

修改定时任务

// 查询已配置的定时任务的列表,从中找到要修改的的定时任务,记录其ID。
$tasks = $timerTaskMgr->listTasks($user, $deviceId);
// 找到要修改的任务的ID,记为$taskId。
// 配置该任务的新属性
$task = new ACTimerTask();
// 修改$task对象的属性值
// ......
// 修改任务
$timerTaskMgr->modifyTask($taskId, $task, $user);

删除定时任务

// 查询已配置的定时任务的列表,从中找到要删除的的定时任务,记录其ID。
$tasks = $timerTaskMgr->listTasks($user, $deviceId);
// 找到要删除的任务的ID,记为$taskId。
// 删除该任务
$timerTaskMgr->deleteTask($user, $deviceId, $taskId);