Full CRM rebuild with Next.js 15, TypeScript, Tailwind, Drizzle ORM, PostgreSQL, Redis, BullMQ, MinIO, and Socket.io. Includes 461 source files covering clients, berths, interests/pipeline, documents/EOI, expenses/invoices, email, notifications, dashboard, admin, and client portal. CI/CD via Gitea Actions with Docker builds. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
19 lines
506 B
TypeScript
19 lines
506 B
TypeScript
import Redis from 'ioredis';
|
|
|
|
import { logger } from '@/lib/logger';
|
|
|
|
const redisUrl = process.env.REDIS_URL!;
|
|
|
|
export const redis = new Redis(redisUrl, {
|
|
maxRetriesPerRequest: 3,
|
|
retryStrategy(times) {
|
|
const delay = Math.min(times * 200, 2000);
|
|
return delay;
|
|
},
|
|
lazyConnect: true,
|
|
});
|
|
|
|
redis.on('error', (err) => logger.error({ err }, 'Redis connection error'));
|
|
redis.on('connect', () => logger.info('Redis connected'));
|
|
redis.on('reconnecting', () => logger.warn('Redis reconnecting'));
|