Major Changes: - Implement Platform-Only architecture pattern (unified task management) - Add PostgresCacheAdapter for unified caching (platform_schema.app_cache) - Add PgBossQueue for job queue management (platform_schema.job) - Implement CheckpointService using job.data (generic for all modules) - Add intelligent threshold-based dual-mode processing (THRESHOLD=50) - Add task splitting mechanism (auto chunk size recommendation) - Refactor ASL screening service with smart mode selection - Refactor DC extraction service with smart mode selection - Register workers for ASL and DC modules Technical Highlights: - All task management data stored in platform_schema.job.data (JSONB) - Business tables remain clean (no task management fields) - CheckpointService is generic (shared by all modules) - Zero code duplication (DRY principle) - Follows 3-layer architecture principle - Zero additional cost (no Redis needed, save 8400 CNY/year) Code Statistics: - New code: ~1750 lines - Modified code: ~500 lines - Test code: ~1800 lines - Documentation: ~3000 lines Testing: - Unit tests: 8/8 passed - Integration tests: 2/2 passed - Architecture validation: passed - Linter errors: 0 Files: - Platform layer: PostgresCacheAdapter, PgBossQueue, CheckpointService, utils - ASL module: screeningService, screeningWorker - DC module: ExtractionController, extractionWorker - Tests: 11 test files - Docs: Updated 4 key documents Status: Phase 1-7 completed, Phase 8-9 pending
104 lines
1.8 KiB
Markdown
104 lines
1.8 KiB
Markdown
# 🚀 快速开始 - 1分钟运行测试
|
||
|
||
## Windows用户
|
||
|
||
### 方法1:双击运行(最简单)
|
||
1. 双击 `run_tests.bat`
|
||
2. 等待测试完成
|
||
|
||
### 方法2:命令行
|
||
```cmd
|
||
cd AIclinicalresearch\tests
|
||
run_tests.bat
|
||
```
|
||
|
||
---
|
||
|
||
## Linux/Mac用户
|
||
|
||
```bash
|
||
cd AIclinicalresearch/tests
|
||
chmod +x run_tests.sh
|
||
./run_tests.sh
|
||
```
|
||
|
||
---
|
||
|
||
## ⚠️ 前提条件
|
||
|
||
**必须先启动Python服务!**
|
||
|
||
```bash
|
||
# 打开新终端
|
||
cd AIclinicalresearch/extraction_service
|
||
python main.py
|
||
```
|
||
|
||
看到这行表示启动成功:
|
||
```
|
||
INFO: Application startup complete.
|
||
INFO: Uvicorn running on http://0.0.0.0:8001
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 预期结果
|
||
|
||
✅ **全部通过**:
|
||
```
|
||
总测试数: 18
|
||
✅ 通过: 18
|
||
❌ 失败: 0
|
||
通过率: 100.0%
|
||
|
||
🎉 所有测试通过!
|
||
```
|
||
|
||
⚠️ **部分失败**:
|
||
- 查看红色错误信息
|
||
- 检查失败的具体测试
|
||
- 查看Python服务日志
|
||
|
||
---
|
||
|
||
## 🎯 测试内容
|
||
|
||
- ✅ 6种简单填补方法(均值、中位数、众数、固定值、前向填充、后向填充)
|
||
- ✅ MICE多重插补(单列、多列)
|
||
- ✅ 边界情况(100%缺失、0%缺失、特殊字符)
|
||
- ✅ 各种数据类型(数值、分类、混合)
|
||
- ✅ 性能测试(1000行数据)
|
||
|
||
---
|
||
|
||
## 💡 提示
|
||
|
||
- **第一次运行**会自动安装依赖(pandas, numpy, requests)
|
||
- **测试时间**约 45-60 秒
|
||
- **测试数据**自动生成,无需手动准备
|
||
- **颜色输出**:绿色=通过,红色=失败,黄色=警告
|
||
|
||
---
|
||
|
||
## 🆘 遇到问题?
|
||
|
||
### 问题1:无法连接到服务
|
||
**解决**:确保Python服务在运行(`python main.py`)
|
||
|
||
### 问题2:依赖安装失败
|
||
**解决**:手动安装 `pip install pandas numpy requests`
|
||
|
||
### 问题3:测试失败
|
||
**解决**:查看错误信息,检查代码逻辑
|
||
|
||
---
|
||
|
||
**准备好了吗?启动服务,运行测试!** 🚀
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|