Files
Web_BLS_RCUAction_Server/bls-rcu-action-backend/.env
XuJiacheng 680bf6a957 feat: 增加批量处理和数据库离线恢复机制以提升可靠性
- 新增 BatchProcessor 类实现消息批量插入,提高数据库写入性能
- 在 consumer 中禁用 autoCommit 并实现手动提交,确保数据一致性
- 添加数据库健康检查机制,在数据库离线时暂停消费并自动恢复
- 支持 0x0E 命令字处理,扩展消息类型识别范围
- 增加数据库连接重试逻辑,解决 Windows 环境端口冲突问题
- 更新环境变量配置,优化 Kafka 消费者参数
- 添加相关单元测试验证批量处理和可靠性功能
2026-02-04 20:36:33 +08:00

39 lines
5.7 KiB
Bash

KAFKA_BROKERS=kafka.blv-oa.com:9092
KAFKA_CLIENT_ID=bls-action-producer
KAFKA_GROUP_ID=bls-action-consumer
KAFKA_TOPICS=blwlog4Nodejs-rcu-action-topic
KAFKA_AUTO_COMMIT=false
KAFKA_AUTO_COMMIT_INTERVAL_MS=5000
KAFKA_SASL_ENABLED=true
KAFKA_SASL_MECHANISM=plain
KAFKA_SASL_USERNAME=blwmomo
KAFKA_SASL_PASSWORD=blwmomo
KAFKA_SSL_ENABLED=false
KAFKA_CONSUMER_INSTANCES=6
KAFKA_MAX_IN_FLIGHT=50
KAFKA_FETCH_MAX_BYTES=10485760
KAFKA_FETCH_MAX_WAIT_MS=100
KAFKA_FETCH_MIN_BYTES=1
POSTGRES_HOST=10.8.8.109
POSTGRES_PORT=5433
POSTGRES_DATABASE=log_platform
POSTGRES_USER=log_admin
POSTGRES_PASSWORD=YourActualStrongPasswordForPostgres!
POSTGRES_MAX_CONNECTIONS=6
POSTGRES_IDLE_TIMEOUT_MS=30000
PORT=3001
LOG_LEVEL=info
# Redis connection
REDIS_HOST=10.8.8.109
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=15
REDIS_CONNECT_TIMEOUT_MS=5000
ACTION_TYPE_DEV_TYPE_RULES='[{"action_type": "无效", "dev_type": 0, "name": "无效设备(也可以被认为是场景)"}, {"action_type": "设备回路状态", "dev_type": 1, "name": "强电继电器(输出状态)"}, {"action_type": "用户操作", "dev_type": 2, "name": "弱电输入(输入状态)"}, {"action_type": "设备回路状态", "dev_type": 3, "name": "弱电输出(输出状态)"}, {"action_type": "设备回路状态", "dev_type": 4, "name": "服务信息"}, {"action_type": "设备回路状态", "dev_type": 5, "name": "干节点窗帘"}, {"action_type": "用户操作", "dev_type": 6, "name": "开关"}, {"action_type": "用户操作", "dev_type": 7, "name": "空调"}, {"action_type": "用户操作", "dev_type": 8, "name": "红外感应"}, {"action_type": "设备回路状态", "dev_type": 9, "name": "空气质量检测设备"}, {"action_type": "用户操作", "dev_type": 10, "name": "插卡取电"}, {"action_type": "用户操作", "dev_type": 11, "name": "地暖"}, {"action_type": "", "dev_type": 12, "name": "RCU 设备网络 - 没使用"}, {"action_type": "设备回路状态", "dev_type": 13, "name": "窗帘"}, {"action_type": "设备回路状态", "dev_type": 14, "name": "继电器"}, {"action_type": "设备回路状态", "dev_type": 15, "name": "红外发送"}, {"action_type": "设备回路状态", "dev_type": 16, "name": "调光驱动"}, {"action_type": "设备回路状态", "dev_type": 17, "name": "可控硅调光(可控硅状态)"}, {"action_type": "设备状态", "dev_type": 18, "name": "灯带(灯带状态) --2025-11-24 取消"}, {"action_type": "设备状态", "dev_type": 19, "name": "中控"}, {"action_type": "设备状态", "dev_type": 20, "name": "微信锁 (福瑞狗的蓝牙锁 默认 0 地址)"}, {"action_type": "设备回路状态", "dev_type": 21, "name": "背景音乐(背景音乐状态)"}, {"action_type": "云端操作", "dev_type": 22, "name": "房态下发"}, {"action_type": "设备状态", "dev_type": 23, "name": "主机本地 调光"}, {"action_type": "设备状态", "dev_type": 24, "name": "485PWM 调光( PWM 调光状态)"}, {"action_type": "设备状态", "dev_type": 25, "name": "总线调光( PBLED 调光状态) - 没使用 -"}, {"action_type": "云端操作", "dev_type": 26, "name": "RCU 电源"}, {"action_type": "用户操作", "dev_type": 27, "name": "A9IO 开关"}, {"action_type": "设备回路状态", "dev_type": 28, "name": "A9IO 扩展"}, {"action_type": "设备回路状态", "dev_type": 29, "name": "A9IO 电源"}, {"action_type": "回路状态", "dev_type": 30, "name": "无线网关轮询(用于轮询控制轮询设备;给无线网关下发配置和询问网关状态)"}, {"action_type": "回路状态", "dev_type": 31, "name": "无线网关主动(用于主动控制主动设备)"}, {"action_type": "用户操作", "dev_type": 32, "name": "无线门磁"}, {"action_type": "设备回路状态", "dev_type": 33, "name": "空气参数显示设备"}, {"action_type": "设备回路状态", "dev_type": 34, "name": "无线继电器红外"}, {"action_type": "设备回路状态", "dev_type": 35, "name": "时间同步"}, {"action_type": "云端操作", "dev_type": 36, "name": "监控控制"}, {"action_type": "用户操作", "dev_type": 37, "name": "旋钮开关控制"}, {"action_type": "设备回路状态", "dev_type": 38, "name": "CSIO - 类型"}, {"action_type": "设备回路状态", "dev_type": 39, "name": "插卡状态虚拟设备"}, {"action_type": "用户操作", "dev_type": 40, "name": "485 新风设备"}, {"action_type": "用户操作", "dev_type": 41, "name": "485 人脸机"}, {"action_type": "回路状态", "dev_type": 42, "name": "中控"}, {"action_type": "回路状态", "dev_type": 43, "name": "域控"}, {"action_type": "设备回路状态", "dev_type": 44, "name": "LCD"}, {"action_type": "回路状态", "dev_type": 45, "name": "无卡断电 --2025-11-24 取消"}, {"action_type": "用户操作", "dev_type": 46, "name": "无卡取电 2"}, {"action_type": "设备回路状态", "dev_type": 47, "name": "虚拟时间设备"}, {"action_type": "设备回路状态", "dev_type": 48, "name": "PLC 总控"}, {"action_type": "设备回路状态", "dev_type": 49, "name": "PLC 设备 - 恒流调光设备"}, {"action_type": "设备回路状态", "dev_type": 50, "name": "PLC 设备 - 恒压调光设备"}, {"action_type": "设备回路状态", "dev_type": 51, "name": "PLC 设备 - 继电器设备"}, {"action_type": "设备回路状态", "dev_type": 52, "name": "色温调节功能"}, {"action_type": "设备回路状态", "dev_type": 53, "name": "蓝牙音频"}, {"action_type": "用户操作", "dev_type": 54, "name": "碳达人"}, {"action_type": "用户操作", "dev_type": 55, "name": "场景还原"}, {"action_type": "设备回路状态", "dev_type": 56, "name": "全局设置"}, {"action_type": "设备回路状态", "dev_type": 57, "name": "能耗检测"}, {"action_type": "设备回路状态", "dev_type": 241, "name": "CSIO - 类型"}]'
ENABLE_LOOP_NAME_AUTO_GENERATION=false