diff --git a/redis/client.go b/redis/client.go index 5110ae4c..87cd8a4b 100644 --- a/redis/client.go +++ b/redis/client.go @@ -220,6 +220,13 @@ func (c *Client) XReadUntilResult(ctx context.Context, a *redis.XReadArgs) ([]re continue } + var timeout interface { + Timeout() bool + } + if errors.As(err, &timeout) && timeout.Timeout() && !errors.Is(err, context.DeadlineExceeded) { + continue + } + return streams, WrapCmdErr(cmd) }