From f010a885306f6d2084222012382cb35117b0c1d0 Mon Sep 17 00:00:00 2001 From: Atridad Lahiji Date: Tue, 9 Apr 2024 12:04:40 -0600 Subject: [PATCH] Pubsub fix --- lib/pubsub/adapters/redispubsub.go | 8 ++++---- main.go | 11 ++++------- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/lib/pubsub/adapters/redispubsub.go b/lib/pubsub/adapters/redispubsub.go index 404a322..1e8b2ea 100644 --- a/lib/pubsub/adapters/redispubsub.go +++ b/lib/pubsub/adapters/redispubsub.go @@ -21,9 +21,9 @@ type RedisPubSub struct { Client *redis.Client } -func NewRedisClient() *redis.Client { +func NewRedisClient() (*redis.Client, error) { if RedisClient != nil { - return RedisClient + return RedisClient, nil } godotenv.Load(".env") @@ -32,13 +32,13 @@ func NewRedisClient() *redis.Client { opts, err := redis.ParseURL(redis_url) if err != nil { - return nil + return nil, err } lib.LogInfo.Printf("\n[PUBSUB/REDIS]Connecting to Redis at %s\n", opts.Addr) RedisClient = redis.NewClient(opts) - return RedisClient + return RedisClient, nil } func (m *RedisPubSubMessage) ReceiveMessage(ctx context.Context) (*pubsub.Message, error) { diff --git a/main.go b/main.go index fab6386..975e1e8 100644 --- a/main.go +++ b/main.go @@ -1,7 +1,6 @@ package main import ( - "context" "embed" "flag" "fmt" @@ -27,18 +26,16 @@ func main() { godotenv.Load(".env") // Initialize Redis client - adapters.RedisClient = adapters.NewRedisClient() - - // Test Redis connection - _, err := adapters.RedisClient.Ping(context.Background()).Result() + redisClient, redisError := adapters.NewRedisClient() // Initialize pubsub var pubSub pubsub.PubSub - if err != nil { - lib.LogWarning.Printf("\n[PUBSUB/INIT] Failed to connect to Redis: %v\n", err) + if redisError != nil { + lib.LogWarning.Printf("\n[PUBSUB/INIT] Failed to connect to Redis: %v\n", redisError) lib.LogWarning.Printf("\n[PUBSUB/INIT] Falling back to LocalPubSub\n") pubSub = &adapters.LocalPubSub{} } else { + adapters.RedisClient = redisClient pubSub = &adapters.RedisPubSub{ Client: adapters.RedisClient, }