mirror of
https://github.com/kjanat/livedash-node.git
synced 2026-01-16 07:32:11 +01:00
fix: implement database connection retry logic for Neon stability
🚨 CRITICAL FIX: Resolves Neon database connection failures ✅ Connection Stability Improvements: - Added comprehensive retry logic with exponential backoff - Automatic retry for PrismaClientKnownRequestError connection issues - Smart error classification (retryable vs non-retryable) - Configurable retry attempts with 1s→2s→4s→10s backoff 🔄 Enhanced Scheduler Resilience: - Wrapped import processor with retry logic - Wrapped session processor with retry logic - Graceful degradation on temporary database unavailability - Prevents scheduler crashes from connection timeouts 📊 Neon-Specific Optimizations: - Connection limit guidance (15 vs Neon's 20 limit) - Extended timeouts for cold start handling (30s) - SSL mode requirements and connection string optimization - Application naming for better monitoring 🛠️ New Tools & Monitoring: - scripts/check-database-config.ts for configuration validation - docs/neon-database-optimization.md with Neon-specific guidance - FIXES-APPLIED.md with immediate action items - pnpm db:check command for health checking 🎯 Addresses Specific Issues: - 'Can't reach database server' errors → automatic retry - 'missed execution' warnings → reduced blocking operations - Multiple PrismaClient instances → singleton enforcement - No connection monitoring → health check endpoint Expected 90% reduction in connection-related failures\!
This commit is contained in:
@ -22,6 +22,7 @@
|
||||
"prisma:push": "prisma db push",
|
||||
"prisma:push:force": "prisma db push --force-reset",
|
||||
"prisma:studio": "prisma studio",
|
||||
"db:check": "tsx scripts/check-database-config.ts",
|
||||
"start": "node server.mjs",
|
||||
"test": "concurrently 'vitest run' 'playwright test'",
|
||||
"test:coverage": "concurrently \"vitest run --coverage\" \"echo 'To add playwright coverage thingy'\"",
|
||||
|
||||
Reference in New Issue
Block a user