触发磁盘服务刷新(server data refresh_service)

验证状态:存在关键缺口,不可作为完整契约发布。Web 发送与应答消费已源码核验;采集服务器侧 data/v1 服务源码不在本工作区,刷新耗时与失败语义缺证。 适用基线:源码归纳 @ 2026-09-14

用途与场景

让采集服务器应用积累的磁盘配置变更(分区启停/排序)并重启相关服务,用于磁盘设置页"重启服务"确认动作。本页是 server/{deviceNo}/data/v1/refresh_service 写命令的唯一操作正本。

使用位置

页面/功能 角色或空间分支
磁盘设置页·"重启服务"确认(modified=true 提示后)(构造)、(发送)、(入口) 当前 $spaceId$deviceNo 来自路由

对应 inventory operationId:mqtt-refresh-service-server-var-data-v1-refresh-service-ed136640

端点

MQTT 发布 server/{deviceNo}/data/v1/refresh_service(Web → Broker → 采集服务器直连,应答按 reply topic 回流;中心网关不消费)— 让采集服务器应用积累的磁盘配置变更并重启相关服务。

通道口径:该 topic 不在中心消费/发布点清单内(网关默认订阅清单无 server/+/data/#,见MQTT 主题清单 · 服务端订阅面);应答回流、凭据与 QoS 等 wire 约定见MQTT 连接与消息边界

请求形态 JSON 对象 {id, reply, params:{}}——刷新动作由 topic 表达,无 sub 成员。

动线与完成判据

层级 判据
发布完成 publishAsync Promise 成功
请求关联 应答到达专用 reply topic 即消费;不校验 id 回显;无超时
业务完成 应答 status===200 后页面清空磁盘数据、启动 60 秒倒计时,倒计时结束自动重读;UI 提示"服务将在 1-3 分钟内恢复正常"——60 秒后的重读结果才是实际状态
服务器执行 刷新是否完成以重读 modified 与磁盘列表为观察手段;服务器侧执行语义缺证

错误与边界

  • Web 只区分 status===200 与其他;失败原因字段缺证。
  • 无超时、无重试;倒计时期间暂停读取以避免中间态。
  • MQTT 族公共边界见MQTT 连接与消息边界

调用关系与资源清理

  • 前置写操作:启用/禁用磁盘分区(读数 modified=true 是本命令的入口条件)。
  • 后续观察:倒计时结束后自动触发读取磁盘信息
  • 无订阅资源;页面卸载清空本地发送队列,不撤销已发布的刷新命令。

已知缺口

  1. 采集服务器侧服务源码不在本工作区:刷新编排、耗时、失败应答形态(非 200 时的 error 结构)缺证。
  2. "1-3 分钟恢复"为 Web UI 文案,无服务器侧依据;60 秒重读可能仍处于恢复中。
  3. Broker ACL、服务器订阅证据与部署环境一致性待部署核验。