调用时的系统字段
返回时的系统字段
异步任务字段
厂商可以通过 HTTP、CLI、MCP、RPC 或 SDK 提供任务查询、通知和取消能力,FSP 不规定其名称或路径。每次返回任务状态时,厂商接口仍应同时给出操作、对象和系统三个维度的当前结果。
填写示例
加液操作开始前,系统信息可以要求设备状态为idle、系统版本号为 system-21、执行模式为异步,并要求“设备无故障、目标容器已定位、没有冲突任务”。安全限制可以包括“目标容器剩余容量不少于加液量”和“单次加液量不超过设备上限”。受理后任务可为 queued;设备设备状态以实际读取结果为准,不能仅因预留资源就改写为 busy,并提示任务解除占用前不得移动容器。
温控操作可以要求设备状态为 ready,锁定加热区,并设置温度上限、升温速率和门盖互锁。执行中任务进度可以填写“升温阶段,当前 65.2 °C,目标 80 °C”;完成后设备状态恢复为 idle,安全检查返回实际最高温度和限制值。
如果通信中断导致无法确认动作是否完成,任务状态必须填写 unknown,系统注意事项应要求重新读取设备和对象状态。此时不得直接重试可能重复发生的物理动作,也不得提交预期成功状态。
执行时要注意的状态问题
状态转换、幂等、取消、资源隔离和持久化恢复遵循任务状态与异常恢复。部署是否就绪由能力门控判断。 要分别说明设备实际是什么状态、任务排到了哪一步、操作所需配置是否完成。受理任务并占用资源,不代表电机已经运动;任务结束并释放资源,也不代表设备已经空闲。 资源锁要写清锁住了什么、属于哪个任务或计划、是独占还是共享、现在是否有效。计划提前占用的资源可以供自己的子任务使用,但其他计划不能使用。 需要同时占用多个资源时,应避免双方各占一部分、一直互相等待。出现冲突时,按已公布的规则释放尚未使用的资源,或返回具体原因。动作结果未知时,必须先确认安全,才能解除占用。 同一对象、系统或设备定义的版本号,不能让旧版本代表新状态;重启后也不能从头使用旧版本号。状态改变,或者原来已知的结果变成未知时,应更新版本。只是查询,不应随意改变版本。 调用方只能增加执行条件和安全限制,不能关闭服务端原有的检查。传入空列表也不表示跳过检查。 查询时要分清observed_at(实际观察时间)和响应生成时间。旧结果不能因为刚刚被读出来,就变成新结果。过期、没有来源或无法确认的状态,不能用于通过执行前检查;汇总缓存时要保留原来的时间、来源和可信程度。