Centralize Redis Connection Management
Resolved 💬 3 comments Opened Nov 30, 2025 by hatemta Closed Dec 30, 2025
Summary
The codebase creates multiple independent Redis connections across different modules, which can lead to connection pool fragmentation and harder debugging.
Current State
Multiple files create their own Redis connections:
- bull-helpers.ts - Queue jobs from upload routes
- queue-utils.ts - Queue jobs (new utility)
- queue-manager.service.ts - Queue management
- cache.service.ts - Caching
- document-processing.worker.ts - Worker + KG queue
- kg-processing.worker.ts - KG worker
Proposed Solution
Create centralized Redis connection manager in backend/src/lib/redis-client.ts
Tasks
- [ ] Create backend/src/lib/redis-client.ts with shared connection management
- [ ] Update bull-helpers.ts to use shared Redis
- [ ] Update queue-utils.ts to use shared Redis
- [ ] Update cache.service.ts to use shared Redis
- [ ] Update queue-manager.service.ts to use shared Redis
- [ ] Add Redis connection metrics to health endpoint
Priority
Medium - Not blocking but improves maintainability
---
Generated with Claude Code
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗