66 lines
1.2 KiB
Markdown
66 lines
1.2 KiB
Markdown
# collector
|
|
|
|
qmt client collector
|
|
|
|
|
|
## 功能说明
|
|
|
|
这是一个采集QMT交易客户端状态数据并存储到PostgreSQL数据库的服务。
|
|
|
|
### 主要功能
|
|
- 使用 `github.com/robfig/cron/v3` 定时调度,每5秒(可配置)从 http://localhost:5000/status 获取JSON数据
|
|
- 计算数据SHA256哈希值,检测数据变化
|
|
- 仅在数据变化时使用 `GORM` ORM存储到PostgreSQL数据库
|
|
- 完整的日志记录和错误处理
|
|
- 自动数据库表结构迁移
|
|
|
|
### 数据样本
|
|
数据样本位于 `/exmple/status.json`
|
|
|
|
### 入口文件
|
|
程序入口在 `cmd/main.go`
|
|
|
|
## 快速开始
|
|
|
|
### 1. 初始化数据库
|
|
|
|
执行SQL脚本创建数据表:
|
|
```bash
|
|
psql -U your_user -d your_database -f scripts/schema.sql
|
|
```
|
|
|
|
### 2. 配置环境变量
|
|
|
|
复制 `.env.example` 为 `.env` 并修改配置:
|
|
```bash
|
|
cp .env.example .env
|
|
```
|
|
|
|
编辑 `.env`:
|
|
```env
|
|
COLLECTOR_URL=http://localhost:5000/status
|
|
DATABASE_URL=postgres://user:password@localhost:5432/qmt_db?sslmode=disable
|
|
COLLECTION_INTERVAL=5
|
|
```
|
|
|
|
### 3. 运行程序
|
|
|
|
Windows:
|
|
```bash
|
|
start.bat
|
|
```
|
|
|
|
Linux/Mac:
|
|
```bash
|
|
chmod +x start.sh
|
|
./start.sh
|
|
```
|
|
|
|
或直接运行:
|
|
```bash
|
|
go run cmd/main.go
|
|
```
|
|
|
|
## 详细说明
|
|
|
|
详细文档请查看 [README_NEW.md](README_NEW.md) |