mirror of
https://github.com/redis/go-redis.git
synced 2025-07-28 06:42:00 +03:00
Move logger to internal package.
This commit is contained in:
15
pubsub.go
15
pubsub.go
@ -5,11 +5,10 @@ import (
|
||||
"net"
|
||||
"time"
|
||||
|
||||
"gopkg.in/redis.v4/internal"
|
||||
"gopkg.in/redis.v4/internal/pool"
|
||||
)
|
||||
|
||||
var receiveMessageTimeout = 5 * time.Second
|
||||
|
||||
// Posts a message to the given channel.
|
||||
func (c *Client) Publish(channel, message string) *IntCmd {
|
||||
req := NewIntCmd("PUBLISH", channel, message)
|
||||
@ -241,9 +240,13 @@ func (c *PubSub) Receive() (interface{}, error) {
|
||||
// messages. It automatically reconnects to Redis Server and resubscribes
|
||||
// to channels in case of network errors.
|
||||
func (c *PubSub) ReceiveMessage() (*Message, error) {
|
||||
return c.receiveMessage(5 * time.Second)
|
||||
}
|
||||
|
||||
func (c *PubSub) receiveMessage(timeout time.Duration) (*Message, error) {
|
||||
var errNum uint
|
||||
for {
|
||||
msgi, err := c.ReceiveTimeout(receiveMessageTimeout)
|
||||
msgi, err := c.ReceiveTimeout(timeout)
|
||||
if err != nil {
|
||||
if !isNetworkError(err) {
|
||||
return nil, err
|
||||
@ -254,7 +257,7 @@ func (c *PubSub) ReceiveMessage() (*Message, error) {
|
||||
if netErr, ok := err.(net.Error); ok && netErr.Timeout() {
|
||||
err := c.Ping("")
|
||||
if err != nil {
|
||||
Logger.Printf("PubSub.Ping failed: %s", err)
|
||||
internal.Logf("PubSub.Ping failed: %s", err)
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@ -294,12 +297,12 @@ func (c *PubSub) resubscribe() {
|
||||
}
|
||||
if len(c.channels) > 0 {
|
||||
if err := c.Subscribe(c.channels...); err != nil {
|
||||
Logger.Printf("Subscribe failed: %s", err)
|
||||
internal.Logf("Subscribe failed: %s", err)
|
||||
}
|
||||
}
|
||||
if len(c.patterns) > 0 {
|
||||
if err := c.PSubscribe(c.patterns...); err != nil {
|
||||
Logger.Printf("PSubscribe failed: %s", err)
|
||||
internal.Logf("PSubscribe failed: %s", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user