🔧 WIP Dockerfile fixes

This commit is contained in:
2024-05-15 11:32:11 -05:00
parent f4563c12c6
commit 323548c0ff
3 changed files with 47 additions and 9 deletions

View File

@@ -1,10 +1,47 @@
import { createClient } from "redis";
const redisURL = new URL(process.env.REDIS_URI);
import { URL } from "url";
const pubClient = createClient({ url: `redis://${redisURL.hostname}:6379` });
(async () => {
await pubClient.connect();
})();
// Ensure that the REDIS_URI environment variable is set
const redisURL = process.env.REDIS_URI ? new URL(process.env.REDIS_URI) : null;
if (!redisURL) {
throw new Error("REDIS_URI environment variable is not set.");
}
// Function to create a Redis client
const createRedisClient = (url) => {
const client = createClient({ url });
client.on("error", (err) => {
console.error("Redis Client Error", err);
});
client.on("connect", () => {
console.log("Connected to Redis:", url);
});
client.on("reconnecting", () => {
console.log("Reconnecting to Redis...");
});
// Attempt to connect with error handling
client.connect().catch((err) => {
console.error("Failed to connect to Redis:", err);
});
return client;
};
// Create publisher and subscriber clients
const pubClient = createRedisClient(process.env.REDIS_URI);
const subClient = pubClient.duplicate();
// Ensure subscriber client handles connection and errors
subClient.on("error", (err) => {
console.error("Redis Subscriber Client Error", err);
});
subClient.connect().catch((err) => {
console.error("Failed to connect Redis Subscriber:", err);
});
export { subClient, pubClient };