fix: CANNOT connet to Redis with special password #2893 (#2894)

Co-authored-by: karlhjm <karl.jm.huang@gmail.com>
This commit is contained in:
karl 2023-11-22 10:28:00 +08:00 committed by GitHub
parent 18c28a7364
commit 21c19a9218
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 3 additions and 2 deletions

View File

@ -21,6 +21,7 @@ import (
"encoding/json"
"errors"
"fmt"
"net/url"
"reflect"
"strings"
"time"
@ -64,9 +65,9 @@ func New(cfg *Config, queue Queue) (*Job, error) {
}
server, err := machinery.NewServer(&machineryv1config.Config{
Broker: fmt.Sprintf("redis://%s@%s/%d", cfg.Password, strings.Join(cfg.Addrs, ","), cfg.BrokerDB),
Broker: fmt.Sprintf("redis://%s@%s/%d", url.QueryEscape(cfg.Password), strings.Join(cfg.Addrs, ","), cfg.BrokerDB),
DefaultQueue: queue.String(),
ResultBackend: fmt.Sprintf("redis://%s@%s/%d", cfg.Password, strings.Join(cfg.Addrs, ","), cfg.BackendDB),
ResultBackend: fmt.Sprintf("redis://%s@%s/%d", url.QueryEscape(cfg.Password), strings.Join(cfg.Addrs, ","), cfg.BackendDB),
ResultsExpireIn: DefaultResultsExpireIn,
Redis: &machineryv1config.RedisConfig{
MasterName: cfg.MasterName,