feat: 实现房间状态同步功能
- 新增 RoomStatusManager 类,负责管理房间状态快照表的数据库连接池及批量 Upsert 操作。 - 新增 StatusBatchProcessor 类,负责收集和合并房间状态更新,并定期将其写入数据库。 - 新增状态提取器 statusExtractor.js,从 Kafka 消息中提取并构建房间状态更新对象。 - 修改 index.js,初始化 RoomStatusManager 和 StatusBatchProcessor,并在 Kafka 消息处理流程中并行推送状态更新。 - 修改 processor/index.js,更新 processKafkaMessage 函数以支持状态提取和处理。 - 更新 kafkaPayload.js,修正 control_list 的提取逻辑,兼容 Kafka 实际传输中的 loop 字段。 - 添加状态批处理器和状态提取器的单元测试,确保功能的正确性。 - 更新文档 plan-room-status-sync.md,详细描述房间状态同步方案及字段映射。
This commit is contained in:
@@ -30,4 +30,14 @@ REDIS_DB=0
|
||||
REDIS_PROJECT_NAME=my-project
|
||||
REDIS_API_BASE_URL=http://localhost:3000
|
||||
|
||||
# Room Status DB Configuration (optional, falls back to DB_* values)
|
||||
# ROOM_STATUS_DB_HOST=localhost
|
||||
# ROOM_STATUS_DB_PORT=5432
|
||||
# ROOM_STATUS_DB_USER=postgres
|
||||
# ROOM_STATUS_DB_PASSWORD=password
|
||||
# ROOM_STATUS_DB_DATABASE=bls_rcu_action
|
||||
# ROOM_STATUS_DB_MAX_CONNECTIONS=5
|
||||
# ROOM_STATUS_DB_SCHEMA=room_status
|
||||
# ROOM_STATUS_DB_TABLE=room_status_moment
|
||||
|
||||
ENABLE_LOOP_NAME_AUTO_GENERATION=true
|
||||
|
||||
Reference in New Issue
Block a user