From 7bfa68d8124d61f01f14565548333e4f24687f05 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=85=89=E6=98=A5?= Date: Wed, 17 Aug 2022 15:57:16 +0800 Subject: [PATCH] - update GetSubscribeClientList --- const.go | 2 +- go.mod | 6 +++--- go.sum | 11 ++++++----- jobs_gorm_redis.go | 12 ------------ jobs_gorm_redis_get.go | 8 ++++---- jobs_gorm_redis_ping.go | 21 --------------------- 6 files changed, 14 insertions(+), 46 deletions(-) delete mode 100644 jobs_gorm_redis_ping.go diff --git a/const.go b/const.go index 3c786c7..e70382a 100644 --- a/const.go +++ b/const.go @@ -1,3 +1,3 @@ package gojobs -const Version = "1.0.63" +const Version = "1.0.64" diff --git a/go.mod b/go.mod index 37b497c..f74af44 100644 --- a/go.mod +++ b/go.mod @@ -8,8 +8,8 @@ require ( github.com/robfig/cron/v3 v3.0.1 go.dtapp.net/dorm v1.0.28 go.dtapp.net/goarray v1.0.1 - go.dtapp.net/goip v1.0.25 - go.dtapp.net/golog v1.0.30 + go.dtapp.net/goip v1.0.26 + go.dtapp.net/golog v1.0.32 go.dtapp.net/gostring v1.0.6 go.dtapp.net/gotime v1.0.5 go.dtapp.net/gotrace_id v1.0.6 @@ -87,7 +87,7 @@ require ( golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect golang.org/x/net v0.0.0-20220812174116-3211cb980234 // indirect golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4 // indirect - golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab // indirect + golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2 // indirect golang.org/x/text v0.3.7 // indirect google.golang.org/genproto v0.0.0-20220815135757-37a418bb8959 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect diff --git a/go.sum b/go.sum index 3c26c4a..692094b 100644 --- a/go.sum +++ b/go.sum @@ -548,12 +548,12 @@ go.dtapp.net/dorm v1.0.28 h1:Igd/K1Hj0IbKLN4lZUxRWXViLtlYjYKVvHcuHscFYuM= go.dtapp.net/dorm v1.0.28/go.mod h1:bHG7BmgeLaAlc56myYF63lwZAIuMeWRAqHBb/L84dLM= go.dtapp.net/goarray v1.0.1 h1:cHNHaJ2MFcuJPA1WKU2PM1EUZShS1vQqEH7n6YXsQVU= 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/go.mod h1:dKeNuWJttH4AvvYVHV0FagB6BVvFM1HGDKFxLKr+hkQ= +go.dtapp.net/goip v1.0.26 h1:pdDVYQCGkfux5Ko+YvecrdK+MsrsZJQ+o7KDDFJQHks= +go.dtapp.net/goip v1.0.26/go.mod h1:7Xu9g6f8UbqSOpmfy0mrqVRAdaoD3AwXPZKQI2f83vw= go.dtapp.net/gojson v1.0.1 h1:MHeSGlq1KxzL7rCkm18fhwW4GNORHohdDMmxY5PupKY= go.dtapp.net/gojson v1.0.1/go.mod h1:TkkpTNxHBKxul0e7gC5MrL1K4ICFB9mQ7wHzjBah3/k= -go.dtapp.net/golog v1.0.30 h1:p9FBj9A52KNoeJiPxUguOxBxSHDQwL0GCwvqe2Tareo= -go.dtapp.net/golog v1.0.30/go.mod h1:KjpAABVvi+jZK8vpO7k5Csaf7/SE+WfJGFhh9kZOzVc= +go.dtapp.net/golog v1.0.32 h1:+VmxlcNhNToMZjwuRHjG7JSy8VL75dGRh+c+Kb7txEU= +go.dtapp.net/golog v1.0.32/go.mod h1:LxOPIb6a7WNXi1w9dsKbsMhGfFfAMB7TRy5Wv9rGt3o= go.dtapp.net/gorandom v1.0.1 h1:IWfMClh1ECPvyUjlqD7MwLq4mZdUusD1qAwAdsvEJBs= go.dtapp.net/gorandom v1.0.1/go.mod h1:ZPdgalKpvFV/ATQqR0k4ns/F/IpITAZpx6WkWirr5Y8= go.dtapp.net/gorequest v1.0.27 h1:Hip1mfSZJDNcmE2iZgB3PYa0C/7BAMEJLsCaMd6t9iE= @@ -705,8 +705,9 @@ golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab h1:2QkjZIsXupsJbJIdSjjUOgWK3aEtzyuh2mPt3l/CkeU= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2 h1:fqTvyMIIj+HRzMmnzr9NtpHP6uVpvB5fkHcgPDC4nu8= +golang.org/x/sys v0.0.0-20220817070843-5a390386f1f2/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= diff --git a/jobs_gorm_redis.go b/jobs_gorm_redis.go index ae6c8d5..e2e40dc 100644 --- a/jobs_gorm_redis.go +++ b/jobs_gorm_redis.go @@ -35,15 +35,3 @@ func (j *JobsGorm) PSubscribe(ctx context.Context) SubscribeResult { Message: j.redisClient.PSubscribe(ctx, j.config.cornKeyPrefix+"_"+j.config.cornKeyCustom+"_*"), } } - -// PubSubChannels 查询活跃的channel -func (j *JobsGorm) PubSubChannels(ctx context.Context) []string { - result, _ := j.redisClient.PubSubChannels(ctx, j.config.cornKeyPrefix+"_"+j.config.cornKeyCustom+"_*").Result() - return result -} - -// PubSubNumSub 查询指定的channel有多少个订阅者 -func (j *JobsGorm) PubSubNumSub(ctx context.Context) map[string]int64 { - result, _ := j.redisClient.PubSubNumSub(ctx, j.config.cornKeyPrefix+"_"+j.config.cornKeyCustom+"_*").Result() - return result -} diff --git a/jobs_gorm_redis_get.go b/jobs_gorm_redis_get.go index adf6208..ace36f8 100644 --- a/jobs_gorm_redis_get.go +++ b/jobs_gorm_redis_get.go @@ -65,16 +65,16 @@ func (j *JobsGorm) GetIssueAddress(ctx context.Context, workers []string, v *job } // GetSubscribeClientList 获取在线的客户端 -func (j *JobsGorm) GetSubscribeClientList(ctx context.Context) ([]string, error) { +func (j *JobsGorm) GetSubscribeClientList(ctx context.Context) (client []string, err error) { if j.config.logDebug == true { j.logClient.Infof(ctx, "[jobs.GetSubscribeClientList] %s", j.config.cornKeyPrefix+"_*") } - // 扫描 - client := j.redisClient.Keys(ctx, j.config.cornKeyPrefix+"_*") + // 查询活跃的channel + client, err = j.redisClient.PubSubChannels(ctx, j.config.cornKeyPrefix+"_*").Result() - return client, nil + return client, err } // 随机返回一个 diff --git a/jobs_gorm_redis_ping.go b/jobs_gorm_redis_ping.go deleted file mode 100644 index 5b5b187..0000000 --- a/jobs_gorm_redis_ping.go +++ /dev/null @@ -1,21 +0,0 @@ -package gojobs - -import ( - "context" - "github.com/robfig/cron/v3" - "time" -) - -// Ping 心跳 -func (j *JobsGorm) Ping(ctx context.Context) { - c := cron.New(cron.WithSeconds()) - _, _ = c.AddFunc(GetSeconds(2).Spec(), func() { - result, err := j.redisClient.Set(ctx, j.config.cornKeyPrefix+"_"+j.config.cornKeyCustom, j.config.cornKeyCustom, 3*time.Second).Result() - if j.config.logDebug == true { - j.logClient.Infof(ctx, "[jobs.Ping] %s %s %v %s", j.config.cornKeyPrefix+"_"+j.config.cornKeyCustom, j.config.cornKeyCustom, result, err) - } - }) - c.Start() - defer c.Stop() - select {} -}