重启服务(server data service-restart)

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

用途与场景

重启采集服务器上的指定受管服务,用于服务设置页的逐服务重启动作。本页是 server/{deviceNo}/data/v1/service-restart 写命令的唯一操作正本;读取服务列表见读取服务列表

使用位置

页面/功能 角色或空间分支
服务设置页·服务行"重启"动作(构造)、(参数组装) 当前 $spaceId$deviceNo 来自路由

对应 inventory operationId:mqtt-set-server-var-data-v1-service-restart-70ed6455

端点

MQTT 发布 server/{deviceNo}/data/v1/service-restart(Web → Broker → 采集服务器直连,应答按 reply topic 回流;中心网关不消费)— 重启采集服务器上的指定受管服务。

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

请求形态 JSON 对象 {id, reply, params:{services}}(无 sub 成员;services 取读取服务列表应答的 name,Web 固定传单元素数组)。

动线与完成判据

层级 判据
发布完成 publishAsync Promise 成功
请求关联 应答到达专用 reply topic 即消费;不校验 id 回显;无超时
业务完成 应答 status===200 后页面清空列表并启动 10 秒倒计时,倒计时结束自动重读——重读结果才是服务实际状态的观察手段
服务器执行 重启完成时间由服务器决定;UI 文案提示"服务将在 1-3 分钟内恢复"的类似语义在磁盘刷新页出现,本页仅 10 秒后重读,不代表重启已完成

错误与边界

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

调用关系与资源清理

  • 读取服务列表构成写读对;与服务信息展示页共享同一读取正本。
  • 无订阅资源;页面卸载清空本地发送队列,不撤销已发布重启命令。

已知缺口

  1. 采集服务器侧服务源码不在本工作区:services 数组多元素行为、服务名校验、重启失败/超时的应答形态缺证。
  2. 重启完成的权威信号缺证:status=200 只代表服务器受理重启请求(由 UI 行为推断),不代表服务已恢复。
  3. Broker ACL、服务器订阅证据与部署环境一致性待部署核验。