Skip to content

Commit ba1698a

Browse files
committed
Queue: Allow Redis to connect to unix
1 parent caa4392 commit ba1698a

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

modules/queue/queue_redis.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ type RedisQueue struct {
4141

4242
// RedisQueueConfiguration is the configuration for the redis queue
4343
type RedisQueueConfiguration struct {
44+
Network string
4445
Addresses string
4546
Password string
4647
DBIndex int
@@ -88,6 +89,7 @@ func NewRedisQueue(handle HandlerFunc, cfg, exemplar interface{}) (Queue, error)
8889
return nil, errors.New("no redis host found")
8990
} else if len(dbs) == 1 {
9091
queue.client = redis.NewClient(&redis.Options{
92+
Network: config.Network,
9193
Addr: strings.TrimSpace(dbs[0]), // use default Addr
9294
Password: config.Password, // no password set
9395
DB: config.DBIndex, // use default DB

modules/setting/queue.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ type queueSettings struct {
2222
BatchLength int
2323
ConnectionString string
2424
Type string
25+
Network string
2526
Addresses string
2627
Password string
2728
QueueName string
@@ -47,6 +48,7 @@ func CreateQueue(name string, handle queue.HandlerFunc, exemplar interface{}) qu
4748
opts["BatchLength"] = q.BatchLength
4849
opts["DataDir"] = q.DataDir
4950
opts["Addresses"] = q.Addresses
51+
opts["Network"] = q.Network
5052
opts["Password"] = q.Password
5153
opts["DBIndex"] = q.DBIndex
5254
opts["QueueName"] = q.QueueName
@@ -111,7 +113,7 @@ func getQueueSettings(name string) queueSettings {
111113
q.BoostWorkers = sec.Key("BOOST_WORKERS").MustInt(Queue.BoostWorkers)
112114
q.QueueName = sec.Key("QUEUE_NAME").MustString(Queue.QueueName)
113115

114-
q.Addresses, q.Password, q.DBIndex, _ = ParseQueueConnStr(q.ConnectionString)
116+
q.Network, q.Addresses, q.Password, q.DBIndex, _ = ParseQueueConnStr(q.ConnectionString)
115117
return q
116118
}
117119

@@ -128,7 +130,7 @@ func NewQueueService() {
128130
Queue.ConnectionString = sec.Key("CONN_STR").MustString(path.Join(AppDataPath, ""))
129131
validTypes := queue.RegisteredTypesAsString()
130132
Queue.Type = sec.Key("TYPE").In(string(queue.PersistableChannelQueueType), validTypes)
131-
Queue.Addresses, Queue.Password, Queue.DBIndex, _ = ParseQueueConnStr(Queue.ConnectionString)
133+
Queue.Network, Queue.Addresses, Queue.Password, Queue.DBIndex, _ = ParseQueueConnStr(Queue.ConnectionString)
132134
Queue.WrapIfNecessary = sec.Key("WRAP_IF_NECESSARY").MustBool(true)
133135
Queue.MaxAttempts = sec.Key("MAX_ATTEMPTS").MustInt(10)
134136
Queue.Timeout = sec.Key("TIMEOUT").MustDuration(GracefulHammerTime + 30*time.Second)
@@ -183,14 +185,16 @@ func NewQueueService() {
183185
}
184186

185187
// ParseQueueConnStr parses a queue connection string
186-
func ParseQueueConnStr(connStr string) (addrs, password string, dbIdx int, err error) {
188+
func ParseQueueConnStr(connStr string) (network, addrs, password string, dbIdx int, err error) {
187189
fields := strings.Fields(connStr)
188190
for _, f := range fields {
189191
items := strings.SplitN(f, "=", 2)
190192
if len(items) < 2 {
191193
continue
192194
}
193195
switch strings.ToLower(items[0]) {
196+
case "network":
197+
network = items[1]
194198
case "addrs":
195199
addrs = items[1]
196200
case "password":

0 commit comments

Comments
 (0)