From 25cf2a1bb0ff8503e68062a576835f8b5a9192a8 Mon Sep 17 00:00:00 2001 From: 17neverends Date: Fri, 7 Nov 2025 20:56:16 +0300 Subject: [PATCH] pubsub error handling --- redis.go | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/redis.go b/redis.go index dcd7b59a78..80c6df8fd3 100644 --- a/redis.go +++ b/redis.go @@ -1166,7 +1166,11 @@ func (c *Client) pubSub() *PubSub { func (c *Client) Subscribe(ctx context.Context, channels ...string) *PubSub { pubsub := c.pubSub() if len(channels) > 0 { - _ = pubsub.Subscribe(ctx, channels...) + err := pubsub.Subscribe(ctx, channels...) + + if err != nil { + return nil + } } return pubsub } @@ -1176,7 +1180,11 @@ func (c *Client) Subscribe(ctx context.Context, channels ...string) *PubSub { func (c *Client) PSubscribe(ctx context.Context, channels ...string) *PubSub { pubsub := c.pubSub() if len(channels) > 0 { - _ = pubsub.PSubscribe(ctx, channels...) + err := pubsub.PSubscribe(ctx, channels...) + + if err != nil { + return nil + } } return pubsub } @@ -1186,7 +1194,11 @@ func (c *Client) PSubscribe(ctx context.Context, channels ...string) *PubSub { func (c *Client) SSubscribe(ctx context.Context, channels ...string) *PubSub { pubsub := c.pubSub() if len(channels) > 0 { - _ = pubsub.SSubscribe(ctx, channels...) + err := pubsub.SSubscribe(ctx, channels...) + + if err != nil { + return nil + } } return pubsub }