Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
cbf00a0981 | |||
7fc5a26347 |
21
event.go
21
event.go
@@ -22,9 +22,14 @@ func newEventHook(connected *atomic.Bool) *eventHook {
|
|||||||
func (h *eventHook) DialHook(hook goredis.DialHook) goredis.DialHook {
|
func (h *eventHook) DialHook(hook goredis.DialHook) goredis.DialHook {
|
||||||
return func(ctx context.Context, network, addr string) (net.Conn, error) {
|
return func(ctx context.Context, network, addr string) (net.Conn, error) {
|
||||||
conn, err := hook(ctx, network, addr)
|
conn, err := hook(ctx, network, addr)
|
||||||
if err != nil && !isRedisError(err) {
|
if err != nil {
|
||||||
|
if !isRedisError(err) {
|
||||||
h.connected.Store(false)
|
h.connected.Store(false)
|
||||||
}
|
}
|
||||||
|
h.connected.Store(true)
|
||||||
|
} else {
|
||||||
|
h.connected.Store(true)
|
||||||
|
}
|
||||||
return conn, err
|
return conn, err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -32,9 +37,14 @@ func (h *eventHook) DialHook(hook goredis.DialHook) goredis.DialHook {
|
|||||||
func (h *eventHook) ProcessHook(hook goredis.ProcessHook) goredis.ProcessHook {
|
func (h *eventHook) ProcessHook(hook goredis.ProcessHook) goredis.ProcessHook {
|
||||||
return func(ctx context.Context, cmd goredis.Cmder) error {
|
return func(ctx context.Context, cmd goredis.Cmder) error {
|
||||||
err := hook(ctx, cmd)
|
err := hook(ctx, cmd)
|
||||||
if err != nil && !isRedisError(err) {
|
if err != nil {
|
||||||
|
if !isRedisError(err) {
|
||||||
h.connected.Store(false)
|
h.connected.Store(false)
|
||||||
}
|
}
|
||||||
|
h.connected.Store(true)
|
||||||
|
} else {
|
||||||
|
h.connected.Store(true)
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -42,9 +52,14 @@ func (h *eventHook) ProcessHook(hook goredis.ProcessHook) goredis.ProcessHook {
|
|||||||
func (h *eventHook) ProcessPipelineHook(hook goredis.ProcessPipelineHook) goredis.ProcessPipelineHook {
|
func (h *eventHook) ProcessPipelineHook(hook goredis.ProcessPipelineHook) goredis.ProcessPipelineHook {
|
||||||
return func(ctx context.Context, cmds []goredis.Cmder) error {
|
return func(ctx context.Context, cmds []goredis.Cmder) error {
|
||||||
err := hook(ctx, cmds)
|
err := hook(ctx, cmds)
|
||||||
if err != nil && !isRedisError(err) {
|
if err != nil {
|
||||||
|
if !isRedisError(err) {
|
||||||
h.connected.Store(false)
|
h.connected.Store(false)
|
||||||
}
|
}
|
||||||
|
h.connected.Store(true)
|
||||||
|
} else {
|
||||||
|
h.connected.Store(true)
|
||||||
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user