import Redis from "ioredis";

declare global {
  // eslint-disable-next-line no-var
  var __redis: Redis | undefined;
}

export function getRedis() {
  if (globalThis.__redis) return globalThis.__redis;

  const url = process.env.REDIS_URL || "redis://localhost:6379";
  const client = new Redis(url, {
    maxRetriesPerRequest: null, // recommended for BullMQ
  });

  if (process.env.NODE_ENV !== "production") {
    globalThis.__redis = client;
  }

  return client;
}

