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
39 lines
863 B
Python
39 lines
863 B
Python
"""测试dc_executor模块"""
|
|
print("测试dc_executor模块导入...")
|
|
try:
|
|
from services.dc_executor import validate_code, execute_pandas_code
|
|
print("✅ 模块导入成功")
|
|
|
|
# 测试验证功能
|
|
print("\n测试validate_code...")
|
|
result = validate_code("df['x'] = 1")
|
|
print(f"✅ validate_code成功: {result}")
|
|
|
|
# 测试执行功能
|
|
print("\n测试execute_pandas_code...")
|
|
test_data = [{"age": 25}, {"age": 65}]
|
|
result = execute_pandas_code(test_data, "df['old'] = df['age'] > 60")
|
|
print(f"✅ execute_pandas_code成功: success={result['success']}")
|
|
if result['success']:
|
|
print(f" 结果: {result['result_data']}")
|
|
|
|
print("\n🎉 所有模块测试通过!")
|
|
|
|
except Exception as e:
|
|
print(f"❌ 测试失败: {e}")
|
|
import traceback
|
|
traceback.print_exc()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|