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

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗