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
..
2026-02-03 23:59:01 +08:00
2025-12-31 16:49:44 +08:00
2026-02-02 22:42:45 +08:00
2026-02-03 15:41:04 +08:00
2026-02-03 16:49:33 +08:00
2025-12-31 16:49:44 +08:00
2025-12-31 16:49:44 +08:00
2025-12-31 16:49:44 +08:00