Files
go-sip/docs/evidence/saas-queue-refresh-20261009.md
T

2.4 KiB
Raw Blame History

SaaS 队列驱动配置刷新(2026-10-09)

根因与改动

固定环境的 Dispatcher 在启动时拒绝任务 3:revision 2 changed content。来源任务修订号未变,状态由 paused 改为 running;旧逻辑把当前任务配置误当作不可修改的历史执行快照。

使用者确认保留 revision 字段与现行 Schema,但不以 SaaS 修订号增减、相等或同号内容变化阻止更新。共享规范文字提交为 ff74afe396eb811745a20cd88d167585d6593132;未改 Schema。

  • 启动列表之后读取的任务详情为当前配置;详情状态变化不再导致版本冲突。
  • 任务刷新、发现、edit 及租户额度采用当次完整读取;最新额度同时更新同租户的未来任务绑定。
  • 已持久暂停/停止不被 HTTP running 清除。停止后的 edit、归属、时段、幂等与未知占用规则保留。
  • 选线到占用之间按真实任务配置摘要核验,不以 task_revision/status 元数据判断变化;内部 SIP 加载代次及 Agent/Asterisk 实际加载核验不变。
  • 历史已接纳执行的冻结快照不被当前配置或额度更新改写。

本地验证

make check、make release-check-local、make coverage 通过;业务语句覆盖率 70.8%。包括同修订状态/内容变化、降低任务/额度来源修订号、MQ 暂停保留、同修订选线期间业务变化拒绝、来源元数据单独变化不拒绝、跨任务额度更新,以及冻结执行/未知占用保留的回归测试。RabbitMQ/HTTPS/mTLS 隔离端到端运行通过,不代表真实通话验收。

真实环境与测试边界

本地 Chrome 已分别登录租户与隔离管理员会话。隐藏标签页会使页面交互停滞;确认此现象后激活标签页,新建任务对话框可正常打开,尚未提交新任务或导入号码。

只读检查:固定数据库 inbox 为空;Agent/Asterisk active,Dispatcher 仍 auto-restart。平台现有任务 3 显示“开启中”,包含 981 个号码且没有关闭按钮。本轮最多两通,不能在未核实关闭该任务前任意恢复业务准入。使用者已批准暂时关闭原已开启任务、保留号码和数据,且不自动重新开启。

当前记录尚未证明新版部署、平台白名单、任务实际回执、管理员线路热加载或真实通话。未重置数据库、清理业务队列、改线路地址/主叫/鉴权、导入号码、外呼、请求 AI/OSS 或重启 Asterisk。