跳到主要内容

定时计划

端侧计划与普通任务队列分别建模。计划决定何时触发动作;导航动作再创建本机任务,并跟踪其完成状态。

15.1 计划接口​

接口请求响应 data
GET /v1/api/schedules无Schedule[]
POST /v1/api/schedulesSaveScheduleRequest新 Schedule
GET /v1/api/schedules/{id}正整数 idSchedule
PUT /v1/api/schedules/{id}正整数 id + 完整 SaveScheduleRequest更新 Schedule,重算 next_run_at
DELETE /v1/api/schedules/{id}无请求体null;删除计划及历史记录
POST /v1/api/schedules/{id}/run无请求体本次 Run;计划 disabled 时也可手动触发
GET /v1/api/schedules/{id}/runsquery limit 默认 50,范围 1–500Run[]

SaveScheduleRequest:

字段类型要求
namestring必填,非空
enabledboolean可选;创建和更新省略时都按 true,不是保留原值
triggerTrigger必填
actionAction必填

PUT 为完整更新,停用计划时也须带 trigger/action,并显式设 enabled=false。

15.2 Trigger​

type字段约束
startupdelay_seconds: integer0–86400;开机/服务启动触发,非 cron
intervalevery_seconds: integer60–2592000,最长 30 天
weeklyweekdays: integer[];time: string;timezone: string星期 ISO 1–7(周一=1),至少一项,不重复;time 为 HH:mm;timezone 为有效 IANA 时区,必填
{"name":"工作日扫描启动","enabled":true,"trigger":{"type":"weekly","weekdays":[1,2,3,4,5],"time":"09:00","timezone":"Asia/Shanghai"},"action":{"type":"scan_start"}}

15.3 Action​

type参数说明
scan_start无额外字段启动扫描
scan_stop无额外字段停止扫描
scan_restart无额外字段重启扫描
navigationtarget_landmark_id、initial_pose_landmark_id、可选 cycles / adapter_type / nav_container准备导航环境后执行目标标注

导航动作约束:两个 landmark ID 均为正整数;初始位姿必须是 point;目标可为 point/route;两者必须同一地图;nav_container.scene_name 若填写也必须一致。nav_container 使用 5.1 的配置结构。

{
"name":"每天巡逻","enabled":false,
"trigger":{"type":"weekly","weekdays":[1,2,3,4,5,6,7],"time":"10:00","timezone":"Asia/Shanghai"},
"action":{"type":"navigation","target_landmark_id":2,"initial_pose_landmark_id":1,"cycles":1,"nav_container":{"scene_name":"office_1f","use_relocalization":true}}
}

调用 run 返回记录不等于动作完成;设备忙碌时某些动作可记作 skipped。导航任务运行中的结果由关联任务跟踪,不重复创建并行导航。

15.4 Schedule 与 Run​

Schedule 字段:id:integer、name:string、enabled:boolean、trigger:Trigger、action:Action、next_run_at:string|null、可选 last_run:Run、created_at:string、updated_at:string。startup 的 next_run_at 为 null。

Run 字段类型说明
id、schedule_idinteger执行记录及所属计划
sourcestringscheduled / manual / startup
statusstringrunning / tracking / succeeded / failed / skipped / cancelled
local_task_idstring,可省略导航关联本机任务
started_at、created_atstring开始、创建时间
ended_atstring,可省略结束时间
error_msgstring,可省略失败或跳过原因

tracking 表示等待本机导航任务,不是成功终态。非法计划为 400/1001;不存在 404/1002;调度器未配置/内部错误 500/1003。无单独“取消计划本次运行”REST 接口;导航类可针对关联本机任务处理。