- 新增 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,详细描述房间状态同步方案及字段映射。
44 lines
1.0 KiB
Plaintext
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
|