feat: 重构项目心跳为Redis LIST并更新相关文档
重构项目心跳数据结构为Redis LIST,更新相关文档和OpenSpec规范。主要变更包括: - 将项目心跳从STRING改为LIST类型 - 更新后端服务以支持LIST操作 - 同步更新文档和OpenSpec规范 - 统一后端端口为3001 - 添加部署指南和Windows部署文档 修复前端API请求路径,移除硬编码的localhost地址。添加PM2和Nginx配置文件模板,完善部署流程文档。更新Redis集成协议文档,明确LIST数据结构和外部项目对接规范。
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
# Redis Connection Capability Specification
|
||||
|
||||
## Overview
|
||||
This specification defines the Redis connection capability for the BLS Project Console, which manages the connection between the system and the Redis server for reading logs and sending commands.
|
||||
This specification defines the Redis connection capability for the BLS Project Console, which manages the connection between the system and the Redis server for reading logs and retrieving project heartbeats.
|
||||
|
||||
## Requirements
|
||||
|
||||
@@ -20,6 +20,7 @@ The system SHALL allow configuration of Redis connection parameters.
|
||||
- **WHEN** the server starts with Redis environment variables set
|
||||
- **THEN** it SHALL use those variables to configure the Redis connection
|
||||
- **AND** it SHALL override default values
|
||||
- **AND** it SHALL use Redis database 15
|
||||
|
||||
### Requirement: Redis Connection Reconnection
|
||||
The system SHALL automatically reconnect to Redis if the connection is lost.
|
||||
@@ -47,6 +48,15 @@ The system SHALL monitor the Redis connection status.
|
||||
- **THEN** the system SHALL update the connection status in the UI
|
||||
- **AND** it SHALL log the status change
|
||||
|
||||
### Requirement: Project Heartbeat List Retrieval
|
||||
The system SHALL read project heartbeats from Redis key `项目心跳` stored as a LIST.
|
||||
|
||||
#### Scenario: Reading projects list from Redis LIST
|
||||
- **WHEN** the client requests the projects list
|
||||
- **THEN** the system SHALL read `LRANGE 项目心跳 0 -1`
|
||||
- **AND** it SHALL parse each list element as JSON heartbeat record
|
||||
- **AND** it SHALL deduplicate by `projectName` and keep the latest `lastActiveAt`
|
||||
|
||||
## Data Model
|
||||
|
||||
### Redis Connection Configuration
|
||||
@@ -139,3 +149,9 @@ The system SHALL monitor the Redis connection status.
|
||||
"deleteOldKeys": false
|
||||
}
|
||||
```
|
||||
|
||||
## Redis Data Structures
|
||||
|
||||
### Key: 项目心跳
|
||||
- **Type**: LIST
|
||||
- **Element**: JSON string `{"projectName":"...","apiBaseUrl":"...","lastActiveAt":1768566165572}`
|
||||
|
||||
Reference in New Issue
Block a user