Files
aiot-platform-cloud/viewsh-module-ops/viewsh-module-environment-biz
lzh d34f3bd80d fix(ops): 修复 TTS 语音播报并发问题,保证顺序和间隔
问题:
- 多线程同时处理同一设备的 TTS 队列,导致多条语音同时下发
- 设备只能播报最后一条,前面的被覆盖

解决方案:
- 使用 Redis watch + multi + exec 事务保证原子性
- 使用 Redis 存储上次播报时间(跨线程/跨实例共享)
- 间隔不够时取消 watch,消息留在队列下次再试
- 播报失败时清除时间记录,允许立即重试

效果:
- 保证播报顺序:先入队的消息先播报(FIFO)
- 保证播报间隔:两条播报之间至少间隔 3 秒
- 并发安全:多线程/多实例环境下不会冲突

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 23:59:01 +08:00
..