Files
Web_BLS_RCUAction_Server/bls-rcu-action-backend/.env.example
XuJiacheng cf61e8dac6 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,详细描述房间状态同步方案及字段映射。
2026-03-02 11:47:52 +08:00

44 lines
1.0 KiB
Plaintext

# Server Configuration
PORT=3000
NODE_ENV=development
# Kafka Configuration
KAFKA_BROKERS=localhost:9092
KAFKA_TOPIC=my-topic-name
KAFKA_GROUP_ID=my-group-id
KAFKA_CLIENT_ID=bls-rcu-action-client
KAFKA_AUTO_COMMIT=false
KAFKA_AUTO_COMMIT_INTERVAL_MS=5000
KAFKA_CONSUMER_INSTANCES=1
# KAFKA_SASL_USERNAME=
# KAFKA_SASL_PASSWORD=
# KAFKA_SASL_MECHANISM=plain
# Database Configuration (PostgreSQL)
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=password
DB_DATABASE=my_database
DB_MAX_CONNECTIONS=10
# Redis Configuration
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=
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