- update redis
continuous-integration/drone/push Build is passing Details
continuous-integration/drone/tag Build is passing Details

master v1.0.61
李光春 2 years ago
parent b76dd4fb57
commit 84d516deff

@ -1,3 +1,3 @@
package gojobs package gojobs
const Version = "1.0.60" const Version = "1.0.61"

@ -6,7 +6,7 @@ require (
github.com/go-redis/redis/v9 v9.0.0-beta.2 github.com/go-redis/redis/v9 v9.0.0-beta.2
github.com/jasonlvhit/gocron v0.0.1 github.com/jasonlvhit/gocron v0.0.1
github.com/robfig/cron/v3 v3.0.1 github.com/robfig/cron/v3 v3.0.1
go.dtapp.net/dorm v1.0.26 go.dtapp.net/dorm v1.0.27
go.dtapp.net/goarray v1.0.1 go.dtapp.net/goarray v1.0.1
go.dtapp.net/goip v1.0.25 go.dtapp.net/goip v1.0.25
go.dtapp.net/golog v1.0.29 go.dtapp.net/golog v1.0.29
@ -93,8 +93,8 @@ require (
google.golang.org/genproto v0.0.0-20220812140447-cec7f5303424 // indirect google.golang.org/genproto v0.0.0-20220812140447-cec7f5303424 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect
gorm.io/datatypes v1.0.7 // indirect gorm.io/datatypes v1.0.7 // indirect
gorm.io/driver/mysql v1.3.5 // indirect gorm.io/driver/mysql v1.3.6 // indirect
gorm.io/driver/postgres v1.3.8 // indirect gorm.io/driver/postgres v1.3.9 // indirect
mellium.im/sasl v0.2.1 // indirect mellium.im/sasl v0.2.1 // indirect
modernc.org/ccgo/v3 v3.16.8 // indirect modernc.org/ccgo/v3 v3.16.8 // indirect
xorm.io/builder v0.3.12 // indirect xorm.io/builder v0.3.12 // indirect

@ -543,8 +543,8 @@ github.com/youmark/pkcs8 v0.0.0-20201027041543-1326539a0a0a/go.mod h1:ul22v+Nro/
github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q=
github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0= github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
go.dtapp.net/dorm v1.0.26 h1:UkNuEVwlwB/chWr4LV1qKdt2tpcoDvPmR3KbGGeMWts= go.dtapp.net/dorm v1.0.27 h1:TnRWVfYYjfvZ1Zi2cyb41ZmsbytB4+5fN/FVnodd2NQ=
go.dtapp.net/dorm v1.0.26/go.mod h1:bHG7BmgeLaAlc56myYF63lwZAIuMeWRAqHBb/L84dLM= go.dtapp.net/dorm v1.0.27/go.mod h1:bHG7BmgeLaAlc56myYF63lwZAIuMeWRAqHBb/L84dLM=
go.dtapp.net/goarray v1.0.1 h1:cHNHaJ2MFcuJPA1WKU2PM1EUZShS1vQqEH7n6YXsQVU= go.dtapp.net/goarray v1.0.1 h1:cHNHaJ2MFcuJPA1WKU2PM1EUZShS1vQqEH7n6YXsQVU=
go.dtapp.net/goarray v1.0.1/go.mod h1:/MPhlFCAhQyeNV1M0v1PAOOX33Sg705fVjUgMO12IBQ= go.dtapp.net/goarray v1.0.1/go.mod h1:/MPhlFCAhQyeNV1M0v1PAOOX33Sg705fVjUgMO12IBQ=
go.dtapp.net/goip v1.0.25 h1:GSgQkR7dc28TX8E1mF3wAy+EEGZ++tgqc8Q85OKZPEY= go.dtapp.net/goip v1.0.25 h1:GSgQkR7dc28TX8E1mF3wAy+EEGZ++tgqc8Q85OKZPEY=
@ -815,17 +815,18 @@ gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gorm.io/datatypes v1.0.7 h1:8NhJN4+annFjwV1WufDhFiPjdUvV1lSGUdg1UCjQIWY= gorm.io/datatypes v1.0.7 h1:8NhJN4+annFjwV1WufDhFiPjdUvV1lSGUdg1UCjQIWY=
gorm.io/datatypes v1.0.7/go.mod h1:l9qkCuy0CdzDEop9HKUdcnC9gHC2sRlaFtHkTzsZRqg= gorm.io/datatypes v1.0.7/go.mod h1:l9qkCuy0CdzDEop9HKUdcnC9gHC2sRlaFtHkTzsZRqg=
gorm.io/driver/mysql v1.3.2/go.mod h1:ChK6AHbHgDCFZyJp0F+BmVGb06PSIoh9uVYKAlRbb2U= gorm.io/driver/mysql v1.3.2/go.mod h1:ChK6AHbHgDCFZyJp0F+BmVGb06PSIoh9uVYKAlRbb2U=
gorm.io/driver/mysql v1.3.5 h1:iWBTVW/8Ij5AG4e0G/zqzaJblYkBI1VIL1LG2HUGsvY= gorm.io/driver/mysql v1.3.6 h1:BhX1Y/RyALb+T9bZ3t07wLnPZBukt+IRkMn8UZSNbGM=
gorm.io/driver/mysql v1.3.5/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c= gorm.io/driver/mysql v1.3.6/go.mod h1:sSIebwZAVPiT+27jK9HIwvsqOGKx3YMPmrA3mBJR10c=
gorm.io/driver/postgres v1.3.4/go.mod h1:y0vEuInFKJtijuSGu9e5bs5hzzSzPK+LancpKpvbRBw= gorm.io/driver/postgres v1.3.4/go.mod h1:y0vEuInFKJtijuSGu9e5bs5hzzSzPK+LancpKpvbRBw=
gorm.io/driver/postgres v1.3.8 h1:8bEphSAB69t3odsCR4NDzt581iZEWQuRM27Cg6KgfPY= gorm.io/driver/postgres v1.3.9 h1:lWGiVt5CijhQAg0PWB7Od1RNcBw/jS4d2cAScBcSDXg=
gorm.io/driver/postgres v1.3.8/go.mod h1:qB98Aj6AhRO/oyu/jmZsi/YM9g6UzVCjMxO/6frFvcA= gorm.io/driver/postgres v1.3.9/go.mod h1:qw/FeqjxmYqW5dBcYNBsnhQULIApQdk7YuuDPktVi1U=
gorm.io/driver/sqlite v1.3.1/go.mod h1:wJx0hJspfycZ6myN38x1O/AqLtNS6c5o9TndewFbELg= gorm.io/driver/sqlite v1.3.1/go.mod h1:wJx0hJspfycZ6myN38x1O/AqLtNS6c5o9TndewFbELg=
gorm.io/driver/sqlite v1.3.6 h1:Fi8xNYCUplOqWiPa3/GuCeowRNBRGTf62DEmhMDHeQQ= gorm.io/driver/sqlite v1.3.6 h1:Fi8xNYCUplOqWiPa3/GuCeowRNBRGTf62DEmhMDHeQQ=
gorm.io/driver/sqlserver v1.3.1/go.mod h1:w25Vrx2BG+CJNUu/xKbFhaKlGxT/nzRkhWCCoptX8tQ= gorm.io/driver/sqlserver v1.3.1/go.mod h1:w25Vrx2BG+CJNUu/xKbFhaKlGxT/nzRkhWCCoptX8tQ=
gorm.io/driver/sqlserver v1.3.2 h1:yYt8f/xdAKLY7lCCyXxIUEgZ/WsURos3dHrx8MKFGAk= gorm.io/driver/sqlserver v1.3.2 h1:yYt8f/xdAKLY7lCCyXxIUEgZ/WsURos3dHrx8MKFGAk=
gorm.io/gorm v1.23.1/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.23.1/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk=
gorm.io/gorm v1.23.6/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.23.6/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk=
gorm.io/gorm v1.23.7/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk=
gorm.io/gorm v1.23.8 h1:h8sGJ+biDgBA1AD1Ha9gFCx7h8npU7AsLdlkX0n2TpE= gorm.io/gorm v1.23.8 h1:h8sGJ+biDgBA1AD1Ha9gFCx7h8npU7AsLdlkX0n2TpE=
gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= gorm.io/gorm v1.23.8/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk=
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=

@ -4,7 +4,6 @@ import (
"context" "context"
"errors" "errors"
"fmt" "fmt"
"go.dtapp.net/dorm"
"go.dtapp.net/gojobs/jobs_gorm_model" "go.dtapp.net/gojobs/jobs_gorm_model"
"go.dtapp.net/gostring" "go.dtapp.net/gostring"
"math/rand" "math/rand"
@ -17,7 +16,7 @@ import (
// --- // ---
// address 下发地址 // address 下发地址
// err 错误信息 // err 错误信息
func (j *JobsGorm) GetIssueAddress(workers []string, v *jobs_gorm_model.Task) (address string, err error) { func (j *JobsGorm) GetIssueAddress(workers []string, v *jobs_gorm_model.Task) (string, error) {
var ( var (
currentIp = "" // 当前Ip currentIp = "" // 当前Ip
appointIpStatus = false // 指定Ip状态 appointIpStatus = false // 指定Ip状态
@ -34,29 +33,28 @@ func (j *JobsGorm) GetIssueAddress(workers []string, v *jobs_gorm_model.Task) (a
if appointIpStatus == true { if appointIpStatus == true {
// 判断是否指定某ip执行 // 判断是否指定某ip执行
if gostring.Contains(workers[0], currentIp) == true { if gostring.Contains(workers[0], currentIp) == true {
return j.config.cornKeyPrefix + "_" + v.SpecifyIp, nil return workers[0], nil
} }
return address, errors.New(fmt.Sprintf("需要执行的[%s]客户端不在线", currentIp)) return "", errors.New(fmt.Sprintf("需要执行的[%s]客户端不在线", currentIp))
} }
return j.config.cornKeyPrefix + "_" + workers[0], nil return workers[0], nil
} }
// 优先处理指定某ip执行 // 优先处理指定某ip执行
if appointIpStatus == true { if appointIpStatus == true {
for wk, wv := range workers { for wk, wv := range workers {
if gostring.Contains(wv, currentIp) == true { if gostring.Contains(wv, currentIp) == true {
return j.config.cornKeyPrefix + "_" + workers[wk], nil return workers[wk], nil
} }
} }
return address, errors.New(fmt.Sprintf("需要执行的[%s]客户端不在线", currentIp)) return "", errors.New(fmt.Sprintf("需要执行的[%s]客户端不在线", currentIp))
} else { } else {
// 随机返回一个 // 随机返回一个
zxIp := workers[j.random(0, len(workers))] address := workers[j.random(0, len(workers))]
if zxIp == "" { if address == "" {
return address, errors.New("获取执行的客户端异常") return address, errors.New("获取执行的客户端异常")
} }
address = j.config.cornKeyPrefix + "_" + zxIp return address, nil
return address, err
} }
} }
@ -68,18 +66,7 @@ func (j *JobsGorm) GetSubscribeClientList(ctx context.Context) ([]string, error)
} }
// 扫描 // 扫描
values, err := j.redisClient.Keys(ctx, j.config.cornKeyPrefix+"_*").Result() client := j.redisClient.Keys(ctx, j.config.cornKeyPrefix+"_*")
if err != nil {
if errors.Is(err, dorm.RedisKeysNotFound) {
return []string{}, nil
}
return nil, errors.New(fmt.Sprintf("获取失败:%s", err.Error()))
}
client := make([]string, 0, len(values))
for _, val := range values {
client = append(client, val.(string))
}
return client, nil return client, nil
} }

Loading…
Cancel
Save