feat(platform): Complete Postgres-Only architecture refactoring (Phase 1-7)
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
This commit is contained in:
@@ -36,6 +36,22 @@ export class MemoryQueue implements JobQueue {
|
||||
private handlers: Map<string, JobHandler> = new Map()
|
||||
private processing: boolean = false
|
||||
|
||||
/**
|
||||
* 启动队列(MemoryQueue无需启动,立即可用)
|
||||
*/
|
||||
async start(): Promise<void> {
|
||||
// MemoryQueue不需要初始化,已经ready
|
||||
this.processing = true
|
||||
}
|
||||
|
||||
/**
|
||||
* 停止队列(MemoryQueue无需清理)
|
||||
*/
|
||||
async stop(): Promise<void> {
|
||||
// MemoryQueue不需要清理
|
||||
this.processing = false
|
||||
}
|
||||
|
||||
/**
|
||||
* 添加任务到队列
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user