Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
cbf00a0981 | |||
7fc5a26347 |
27
event.go
27
event.go
@@ -22,8 +22,13 @@ 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 {
|
||||||
h.connected.Store(false)
|
if !isRedisError(err) {
|
||||||
|
h.connected.Store(false)
|
||||||
|
}
|
||||||
|
h.connected.Store(true)
|
||||||
|
} else {
|
||||||
|
h.connected.Store(true)
|
||||||
}
|
}
|
||||||
return conn, err
|
return conn, err
|
||||||
}
|
}
|
||||||
@@ -32,8 +37,13 @@ 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 {
|
||||||
h.connected.Store(false)
|
if !isRedisError(err) {
|
||||||
|
h.connected.Store(false)
|
||||||
|
}
|
||||||
|
h.connected.Store(true)
|
||||||
|
} else {
|
||||||
|
h.connected.Store(true)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -42,8 +52,13 @@ 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 {
|
||||||
h.connected.Store(false)
|
if !isRedisError(err) {
|
||||||
|
h.connected.Store(false)
|
||||||
|
}
|
||||||
|
h.connected.Store(true)
|
||||||
|
} else {
|
||||||
|
h.connected.Store(true)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user