任务与状态
Orsus 的不同接口面向不同服务,状态字段和完成条件不能混用。
| 类型 | 状态表达 | 正确观察方式 |
|---|---|---|
| Missions | 字符串状态 | 用 Mission ID 查询到终态 |
| 本机任务队列 | 整数 Status | 成功为 2,失败为 3;其他状态见 API |
| 导航运行时 | 下游导航状态 | 用于判断当前环境和执行情况 |
| OTA 升级任务 | 升级服务的 state | 使用升级任务接口查询 |
推荐的应用处理流程
提交请求 → 保存关联 ID → 展示执行中 → 定期查询或接收事件 → 确认终态 → 展示结果。
实时消息适合更新进度;重连后使用 REST 补查最终结果。HTTP 返回成功以及 MQTT 返回回执,都不能替代任务完成判断。
超时与重试
查询失败可以退避重试。导航、建图、升级等创建操作超时后,应先查询现状,避免重新创建相同任务。
/tasks/submit 提供 idempotency_key;Missions 不提供统一的 HTTP 幂等键。不要假设添加 Idempotency-Key 请求头就会生效。
查询入口
- 本机任务队列:队列、取消、历史和状态枚举。
- 导航任务 Missions:面向导航应用的创建与查询。
- MQTT 集成:回执、任务事件与去重边界。