From 40e9863d37dae583a546dce3cec2448ada67c86b Mon Sep 17 00:00:00 2001 From: otto <965391514@qq.com> Date: Mon, 10 Apr 2023 16:19:13 +0800 Subject: [PATCH] up --- cmd/server/main.go | 11 +- cmd/server/wire.go | 2 +- cmd/server/wire_gen.go | 7 +- configs/config.yaml | 28 +-- go.mod | 20 +- go.sum | 38 +++- internal/biz/biz.go | 372 +++++++++++++++++-------------- internal/biz/biz_test.go | 49 ---- internal/biz/configs/config | 19 -- internal/biz/configs/config.yaml | 42 ---- job.yaml | 12 +- 11 files changed, 265 insertions(+), 335 deletions(-) delete mode 100644 internal/biz/biz_test.go delete mode 100644 internal/biz/configs/config delete mode 100644 internal/biz/configs/config.yaml diff --git a/cmd/server/main.go b/cmd/server/main.go index 1100ec0..3957fb4 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -3,10 +3,10 @@ package main import ( "context" "flag" - "fmt" "git.gz.internal.jumaiyx.cn/pkg/config" "git.gz.internal.jumaiyx.cn/pkg/log" "os" + "time" ) var ( @@ -19,20 +19,19 @@ var ( func main() { flag.Parse() - c, err := config.New().Conf("./configs/config.yaml") + bc, err := config.NewConfig().Load() if err != nil { - fmt.Println(err) panic(err) } - bc := c.Get() l := log.DefaultLogger() - biz, cleanup, err := wireApp(bc.Server, l) + biz, cleanup, err := wireApp(l, bc.Data, bc.Webhook) if err != nil { panic(err) } defer cleanup() ctx := context.TODO() l.WithContext(ctx) - biz.Check(ctx) + biz.Run(ctx) + time.Sleep(time.Second * 10) } diff --git a/cmd/server/wire.go b/cmd/server/wire.go index 3af8f33..dd14a25 100644 --- a/cmd/server/wire.go +++ b/cmd/server/wire.go @@ -13,6 +13,6 @@ import ( ) // wireApp init kratos application. -func wireApp(*conf.Server, log.Logger) (*biz.Biz, func(), error) { +func wireApp(log.Logger, *conf.Data, *conf.Webhook) (*biz.Biz, func(), error) { panic(wire.Build(biz.ProviderBizSet)) } diff --git a/cmd/server/wire_gen.go b/cmd/server/wire_gen.go index 1e5ee89..40f5c15 100644 --- a/cmd/server/wire_gen.go +++ b/cmd/server/wire_gen.go @@ -15,8 +15,11 @@ import ( // Injectors from wire.go: // wireApp init kratos application. -func wireApp(server *conf.Server, logger log.Logger) (*biz.Biz, func(), error) { - bizBiz := biz.NewBiz(logger) +func wireApp(logger log.Logger, data *conf.Data, webhook *conf.Webhook) (*biz.Biz, func(), error) { + bizBiz, err := biz.NewBiz(logger, data, webhook) + if err != nil { + return nil, nil, err + } return bizBiz, func() { }, nil } diff --git a/configs/config.yaml b/configs/config.yaml index 08ab35b..8e6aa3b 100644 --- a/configs/config.yaml +++ b/configs/config.yaml @@ -1,8 +1,5 @@ server: name: room - http: - addr: 0.0.0.0:8000 - timeout: 30 grpc: addr: 0.0.0.0:9000 timeout: 30 @@ -15,28 +12,19 @@ data: password: MM5ZsXL0 read_timeout: 1 write_timeout: 1 - -etcd: - host: "127.0.0.1:20000" + db: 1 log: level: "debug" name: "room" + debug: true kafka: addr: - "127.0.0.1:9092" -amqp: - host: 192.168.1.156:5672 - username: jm - password: jm123456 - -id_encode: - uid: - salt: "test" - min_length: 8 -rtctoken: - app_id: 6eeb2e6be9a141d1b0db920f36a5a9f3 - app_certificate: 80438856882e4563841d56f3cefeb763 - privilege_expiration: 3600 - token_expiration: 3600 \ No newline at end of file +webhook: + container_webhook: + url: "https://open.feishu.cn/open-apis/bot/v2/hook/efcfd750-5609-4e80-9d25-fd2092776686" + keys: + - "【时长警告】" + - "【成功】" \ No newline at end of file diff --git a/go.mod b/go.mod index c8716ab..e00aa48 100644 --- a/go.mod +++ b/go.mod @@ -3,27 +3,31 @@ module git.gz.internal.jumaiyx.cn/job/room-server-clear go 1.18 require ( - git.gz.internal.jumaiyx.cn/jm/jmproto v0.0.0-20230217083354-fc40467648e7 - git.gz.internal.jumaiyx.cn/pkg/config v0.0.0-20221014090146-8fd721834886 - git.gz.internal.jumaiyx.cn/pkg/k8s-client v0.0.0-20230213091252-ba02ce8af13a - git.gz.internal.jumaiyx.cn/pkg/kubediscovery v0.0.0-20221104101240-01cad3403ec0 - git.gz.internal.jumaiyx.cn/pkg/log v0.0.0-20230213074339-8fa1e676b686 + git.gz.internal.jumaiyx.cn/jm/jmproto v0.0.0-20230410063401-05bb71e90b80 + git.gz.internal.jumaiyx.cn/pkg/config v0.0.0-20230315093842-e0c44caaecfa + git.gz.internal.jumaiyx.cn/pkg/k8s-client v0.0.0-20230408090535-cf7764ed02b6 + git.gz.internal.jumaiyx.cn/pkg/log v1.0.0 + git.gz.internal.jumaiyx.cn/pkg/webhook v0.0.0-20230404074907-1e358d533fc2 + github.com/go-kratos/kratos/v2 v2.5.3 github.com/google/wire v0.5.0 + github.com/redis/go-redis/v9 v9.0.3 k8s.io/apimachinery v0.25.4 ) require ( git.gz.internal.jumaiyx.cn/pkg/kafka v0.0.0-20221118023940-844d051e6449 // indirect + github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect + github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect github.com/emicklei/go-restful/v3 v3.10.0 // indirect github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/go-kratos/kratos/v2 v2.5.3 // indirect github.com/go-logr/logr v1.2.3 // indirect github.com/go-openapi/jsonpointer v0.19.5 // indirect github.com/go-openapi/jsonreference v0.20.0 // indirect github.com/go-openapi/swag v0.22.3 // indirect github.com/go-playground/form/v4 v4.2.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang/glog v1.0.0 // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/gnostic v0.6.9 // indirect github.com/google/go-cmp v0.5.9 // indirect @@ -34,10 +38,12 @@ require ( github.com/json-iterator/go v1.1.12 // indirect github.com/klauspost/compress v1.15.12 // indirect github.com/mailru/easyjson v0.7.7 // indirect + github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.2 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/pierrec/lz4/v4 v4.1.17 // indirect + github.com/pkg/errors v0.9.1 // indirect github.com/segmentio/kafka-go v0.4.38 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/xdg/scram v1.0.5 // indirect @@ -52,7 +58,7 @@ require ( google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20221207170731-23e4bf6bdc37 // indirect google.golang.org/grpc v1.51.0 // indirect - google.golang.org/protobuf v1.28.1 // indirect + google.golang.org/protobuf v1.30.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index b5caccb..74e4a22 100644 --- a/go.sum +++ b/go.sum @@ -1,25 +1,29 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -git.gz.internal.jumaiyx.cn/jm/jmproto v0.0.0-20230217083354-fc40467648e7 h1:s6K3T28drWlvwK+xn4jzs3r9RzXeQvCCCEUdWktk3zU= -git.gz.internal.jumaiyx.cn/jm/jmproto v0.0.0-20230217083354-fc40467648e7/go.mod h1:U6I+UIgNboy04gVNv6/5azHTSjAJJICfu0vBxTgv3PE= -git.gz.internal.jumaiyx.cn/pkg/config v0.0.0-20221014090146-8fd721834886 h1:LP4psj3ygJEKL6748ZQPNwYnYPmbo8dDwtwU08coRiw= -git.gz.internal.jumaiyx.cn/pkg/config v0.0.0-20221014090146-8fd721834886/go.mod h1:yEnzjNrnPNIr0Zq926QiJrbyReS+VZqX5bmkYhnSV7I= -git.gz.internal.jumaiyx.cn/pkg/k8s-client v0.0.0-20230213091252-ba02ce8af13a h1:LE6nlpvHgKnHXuSsPN7WHLjVQxR82TtSJ4HkKo2GJPA= -git.gz.internal.jumaiyx.cn/pkg/k8s-client v0.0.0-20230213091252-ba02ce8af13a/go.mod h1:YLXO2BSKUZ0/RzVdbsBKAeTHDI75/NMCmt8SsB9eeCU= +git.gz.internal.jumaiyx.cn/jm/jmproto v0.0.0-20230410063401-05bb71e90b80 h1:xfAGm/CRAe1Ad53Mv+c1YMykXyW4sgRjCJeHWWWxwKc= +git.gz.internal.jumaiyx.cn/jm/jmproto v0.0.0-20230410063401-05bb71e90b80/go.mod h1:gmKH81QBtq+tq0fRnkaHzWXPQC4kLkdNmBG8153b03I= +git.gz.internal.jumaiyx.cn/pkg/config v0.0.0-20230315093842-e0c44caaecfa h1:AFmNuC4k8kHttPH2kg5yfVd/QmZtazqkFxmYoU/82BI= +git.gz.internal.jumaiyx.cn/pkg/config v0.0.0-20230315093842-e0c44caaecfa/go.mod h1:RIgQR6o71kVvJlPhjRvpnKoZGWRfgEwa+qaTaQikmiA= +git.gz.internal.jumaiyx.cn/pkg/k8s-client v0.0.0-20230408090535-cf7764ed02b6 h1:ktyzegIyl8FHoBFi08aUZpItLCZjf30DYdJYzt0+lvo= +git.gz.internal.jumaiyx.cn/pkg/k8s-client v0.0.0-20230408090535-cf7764ed02b6/go.mod h1:q4NAPdraM7yYlJ6mSw1rvziQrw6ezCs0FWgtgFqZqM0= git.gz.internal.jumaiyx.cn/pkg/kafka v0.0.0-20221118023940-844d051e6449 h1:kIzpUIKxa9yLZUfgYK+z3uBAzF0BCkauNxhlUEL5n+c= git.gz.internal.jumaiyx.cn/pkg/kafka v0.0.0-20221118023940-844d051e6449/go.mod h1:rspqWOZacckvYwl1M6tikwkdsOlorUmt3CylJ3cGQV8= -git.gz.internal.jumaiyx.cn/pkg/kubediscovery v0.0.0-20221104101240-01cad3403ec0 h1:G3Hb4Bz9Ku3hSkIIZZu33iN+CNqPEnjVbsOa+MVnat4= -git.gz.internal.jumaiyx.cn/pkg/kubediscovery v0.0.0-20221104101240-01cad3403ec0/go.mod h1:oc2Nm1tO4n09zn9u0KGlQzWzthO5WZ3PPq0CUMCYByg= -git.gz.internal.jumaiyx.cn/pkg/log v0.0.0-20230213074339-8fa1e676b686 h1:aJePiLxITBenCZAP/l6XXAEH7H5WIXQgOO/nmc0WvZU= -git.gz.internal.jumaiyx.cn/pkg/log v0.0.0-20230213074339-8fa1e676b686/go.mod h1:b+W/opUzkHTSFb73EWaqBHWswRp69u1pWac6JWdc9SA= +git.gz.internal.jumaiyx.cn/pkg/log v1.0.0 h1:pofdfRB3of2HWCuUTfw4osU1+itLuSXZmtRbclBR728= +git.gz.internal.jumaiyx.cn/pkg/log v1.0.0/go.mod h1:PIqzcM0EqQssd5tjEcZQAxRPex0iIOYXnu466T35a84= +git.gz.internal.jumaiyx.cn/pkg/webhook v0.0.0-20230404074907-1e358d533fc2 h1:C8N6ooCcDpbkdmEK0HLCukgrxYg6NwJzfsfVPi8OOdU= +git.gz.internal.jumaiyx.cn/pkg/webhook v0.0.0-20230404074907-1e358d533fc2/go.mod h1:I2L8v9QXo2NFTqHgTdGATxDMZgGkakfvdkkp4TJiQWo= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/bsm/ginkgo/v2 v2.7.0 h1:ItPMPH90RbmZJt5GtkcNvIRuGEdwlBItdNVoyzaNQao= +github.com/bsm/gomega v1.26.0 h1:LhQm+AFcgV2M0WyKroMASzAzCAJVpAxQXv4SaI9a69Y= github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= +github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= @@ -31,6 +35,8 @@ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWH github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= +github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/emicklei/go-restful/v3 v3.10.0 h1:X4gma4HM7hFm6WMeAsTfqA0GOfdNoCzBIkHGoRLGXuM= github.com/emicklei/go-restful/v3 v3.10.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= @@ -71,6 +77,8 @@ github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v4 v4.4.1/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -132,6 +140,8 @@ github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -144,9 +154,13 @@ github.com/onsi/gomega v1.20.1 h1:PA/3qinGoukvymdIDV8pii6tiZgC8kbmJO6Z5+b002Q= github.com/pierrec/lz4/v4 v4.1.15/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pierrec/lz4/v4 v4.1.17 h1:kV4Ip+/hUBC+8T6+2EgburRtkE9ef4nbY3f4dFhGjMc= github.com/pierrec/lz4/v4 v4.1.17/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/redis/go-redis/v9 v9.0.3 h1:+7mmR26M0IvyLxGZUHxu4GiBkJkVDid0Un+j4ScYu4k= +github.com/redis/go-redis/v9 v9.0.3/go.mod h1:WqMKv5vnQbRuZstUwxQI195wHy+t4PuXDOjzMvcuQHk= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/segmentio/kafka-go v0.4.38 h1:iQdOBbUSdfuYlFpvjuALgj7N6DrdPA0HfB4AhREOdtg= github.com/segmentio/kafka-go v0.4.38/go.mod h1:ikyuGon/60MN/vXFgykf7Zm8P5Be49gJU6vezwjnnhU= @@ -300,8 +314,8 @@ google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp0 google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/internal/biz/biz.go b/internal/biz/biz.go index 007a3d0..c88b7da 100644 --- a/internal/biz/biz.go +++ b/internal/biz/biz.go @@ -3,241 +3,267 @@ package biz import ( "context" "fmt" - v1 "git.gz.internal.jumaiyx.cn/jm/jmproto/room/v1" - "git.gz.internal.jumaiyx.cn/job/room-server-clear/internal/util" - k8s_client "git.gz.internal.jumaiyx.cn/pkg/k8s-client" - "git.gz.internal.jumaiyx.cn/pkg/k8s-client/deployment" - "git.gz.internal.jumaiyx.cn/pkg/k8s-client/service" + "git.gz.internal.jumaiyx.cn/jm/jmproto/conf" + containerv1 "git.gz.internal.jumaiyx.cn/jm/jmproto/container/v1" + "git.gz.internal.jumaiyx.cn/pkg/config" + k8sclient "git.gz.internal.jumaiyx.cn/pkg/k8s-client" + "git.gz.internal.jumaiyx.cn/pkg/k8s-client/pod" "git.gz.internal.jumaiyx.cn/pkg/log" + "git.gz.internal.jumaiyx.cn/pkg/webhook" "github.com/go-kratos/kratos/v2/transport/grpc" "github.com/google/wire" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "strings" - "sync" + "github.com/redis/go-redis/v9" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "os" "time" ) const ( - limit = 100 - outTime = 10 + redisKey = "container:monitor:%s" + limit = 2 + //outTime = int64(86400) * 1 + outTime = int64(86400) * 3 + wOutTime = int64(86400) * 7 + //wOutTime = int64(86400) * 7 ) -var wg sync.WaitGroup +var Exclude = []string{"room-server-3-0-20230407163627"} // ProviderBizSet is biz providers. var ProviderBizSet = wire.NewSet(NewBiz) -type PodData struct { - RoomId int64 - BranchId int64 - Name string - StartTime string +func NewRedis(c *conf.Data) *redis.Client { + dataRedis := c.Redis + return redis.NewClient(&redis.Options{ + DB: int(dataRedis.Db), + Addr: dataRedis.Addr, + Username: dataRedis.Username, + Password: dataRedis.Password, + }) } -type Biz struct { - log log.Logger - depChan chan []PodData - serChan chan []PodData - deploy deployment.Deployment - ser service.Service +func NewPod(logger log.Logger) (pod.PodRepo, error) { + return k8sclient.Pod(k8sclient.Overview{ + Namespace: k8sclient.UnityNamespace, + Log: logger, + }) } -func NewBiz(logger log.Logger) *Biz { - return &Biz{ - log: logger, - depChan: make(chan []PodData, 1), - serChan: make(chan []PodData, 1), - } +type Data struct { + Name string + Second int64 } -func (biz *Biz) roomServerClient(ctx context.Context) (v1.RoomClient, error) { - //discovery, err := kubediscovery.Discovery(ctx, biz.log, base.RoomServiceName, kubediscovery.Namespace(k8s_client.DevNamespace)) - discovery, err := grpc.DialInsecure(ctx, grpc.WithEndpoint("127.0.0.1:9000"), grpc.WithTimeout(10*time.Second)) - - if err != nil { - biz.log.Errorf("room client failed:%v", err) - return nil, err - } - - return v1.NewRoomClient(discovery), nil +type Biz struct { + logger log.Logger + redisClient *redis.Client + pod pod.PodRepo + webhookConf *conf.Webhook + nameCh chan []Data + flagCh chan bool } -// Check -// 定期删除unity的空置容器 -func (biz *Biz) Check(ctx context.Context) { - deploy, err := k8s_client.NewDeployment(k8s_client.UnityNamespace, biz.log) - if err != nil { - biz.log.Errorf("Service connect failed:%v", err) - return - } - biz.deploy = deploy +func NewBiz(logger log.Logger, data *conf.Data, webhookConf *conf.Webhook) (*Biz, error) { + newPod, err := NewPod(logger) - serice, err := k8s_client.NewService(k8s_client.UnityNamespace, biz.log) if err != nil { - biz.log.Errorf("Service connect failed:%v", err) - return + return nil, err } - biz.ser = serice - wg.Add(4) - go func() { - defer wg.Done() - biz.deployment(ctx) - return - }() - - go func() { - defer wg.Done() - biz.deploymentDel(ctx) - return - }() - - go func() { - defer wg.Done() - biz.service(ctx) - }() + return &Biz{logger: logger, redisClient: NewRedis(data), pod: newPod, webhookConf: webhookConf, nameCh: make(chan []Data, 1), flagCh: make(chan bool, 1)}, nil +} +// Run 执行检测 +func (biz *Biz) Run(ctx context.Context) { go func() { - defer wg.Done() - biz.serviceDel(ctx) + biz.Room(ctx) }() - - wg.Wait() -} - -// 获取unity的deployment -func (biz *Biz) deployment(ctx context.Context) { - - var cont string + continueToken := "" for { - rsp, err := biz.deploy.List(ctx, metav1.ListOptions{ + pods, err := biz.pod.List(ctx, v1.ListOptions{ Limit: limit, - Continue: cont, + Continue: continueToken, }) if err != nil { - biz.log.Errorf("get deployment fail:%v", err) - return + biz.logger.Error(err) + break } + var nameList []Data + for _, p := range pods.Items { + name := p.Name[:31] + result, err := biz.redisClient.Get(ctx, fmt.Sprintf(redisKey, name)).Result() + if err != nil { + biz.logger.Error(err) + } + if result != "" { + continue + } + var flag bool + for _, e := range Exclude { + if e == name { + flag = true + } + } + if flag { + continue + } + s := time.Now().Unix() - p.Status.StartTime.Time.Unix() - var podDatas []PodData - for _, item := range rsp.Items { - names := strings.Split(item.Name, "-") - podDatas = append(podDatas, PodData{ - Name: item.Name, - RoomId: util.StringTarnsInt64(names[3]), - BranchId: util.StringTarnsInt64(names[4]), - StartTime: names[5], - }) + if s > outTime { + nameList = append(nameList, Data{ + Name: name, + Second: s, + }) + //_, err = biz.redisClient.Set(ctx, fmt.Sprintf(redisKey, p.Name), "1", time.Duration(wOutTime-s)*time.Second).Result() + //if err != nil { + // biz.logger.Error(err) + //} + } } - - if len(podDatas) > 0 { - biz.depChan <- podDatas + if len(nameList) != 0 { + biz.nameCh <- nameList } - cont = rsp.Continue - if cont == "" { + continueToken = pods.Continue + if continueToken == "" { break } } - return + biz.flagCh <- true } -func (biz *Biz) deploymentDel(ctx context.Context) { +func (biz *Biz) Room(ctx context.Context) { for { select { - case pods := <-biz.depChan: - var ids []int64 - for _, pod := range pods { - ids = append(ids, pod.RoomId) + case dataList := <-biz.nameCh: + if len(dataList) == 0 { + break } - roomMap, err := biz.roomList(ctx, ids) + var nameList []string + for _, data := range dataList { + nameList = append(nameList, data.Name) + } + client, err := biz.containerClient(ctx) if err != nil { - biz.log.Errorf("get room list fail:%v", err) + biz.logger.Error(err) + break + } + containerListRsp, err := client.GetContainerList(ctx, &containerv1.GetContainerListReq{ + NameList: nameList, + }) + if err != nil { + biz.logger.Error(err) + break } - for _, pod := range pods { - if _, ok := roomMap[pod.RoomId]; !ok { - fmt.Println(pod.Name) - biz.deploy.Delete(ctx, pod.Name) + containerMap := make(map[string]*containerv1.ContainerData, len(containerListRsp.List)) + for _, data := range containerListRsp.List { + containerMap[data.Name] = data + } + for _, v := range dataList { + data, ok := containerMap[v.Name] + if ok { + roomId := int64(0) + if data.Params != nil { + roomId = data.Params.RoomId + } + biz.webhook(v.Name, v.Second, roomId, false) + } else { + //biz.webhook(v.Name, v.Second, 0, true) } } - case <-time.After(time.Second * outTime): + case <-biz.flagCh: + //flag = true return } + //if flag { + // return + //} } } -// 获取unity的service -func (biz *Biz) service(ctx context.Context) { - var cont string - for { - rsp, err := biz.ser.List(ctx, metav1.ListOptions{ - Limit: limit, - Continue: cont, +func (biz *Biz) containerClient(ctx context.Context) (containerv1.ContainerClient, error) { + //discovery, err := register.Discovery(ctx, biz.logger, base.ContainerServiceName, register.WithTimeout(time.Second*10)) + discovery, err := grpc.DialInsecure( + ctx, + grpc.WithEndpoint("127.0.0.1:9000"), + grpc.WithTimeout(30*time.Second), + ) + if err != nil { + biz.logger.Errorf("configure client failed:%v", err) + return nil, err + } + + return containerv1.NewContainerClient(discovery), nil +} + +func (biz *Biz) webhook(name string, s int64, roomId int64, f bool) { + go func() { + env := os.Getenv(config.JmEnvironment) + if env == "" { + env = "dev" + } + + var elements []webhook.InteractiveElementsBody + elements = append(elements, webhook.InteractiveElementsBody{ + Tag: webhook.InteractiveTagDiv, + Text: &webhook.InteractiveText{ + Tag: webhook.InteractiveTagPlainText, + Content: "容器名称:" + name + "\n", + }, }) - if err != nil { - biz.log.Errorf("get deployment fail:%v", err) - return + elements = append(elements, webhook.InteractiveElementsBody{ + Tag: webhook.InteractiveTagDiv, + Text: &webhook.InteractiveText{ + Tag: webhook.InteractiveTagPlainText, + Content: "运行环境:" + env + "\n", + }, + }) + d, h, m := biz.shi(s) + elements = append(elements, webhook.InteractiveElementsBody{ + Tag: webhook.InteractiveTagDiv, + Text: &webhook.InteractiveText{ + Tag: webhook.InteractiveTagPlainText, + Content: fmt.Sprintf("运行时长:%d天%d时%d分\n", d, h, m), + }, + }) + + room := "关联房间:无\n" + if roomId == 0 { + room = fmt.Sprintf("关联房间:%d\n", roomId) } - var podDatas []PodData - for _, item := range rsp.Items { - names := strings.Split(item.Name, "-") - podDatas = append(podDatas, PodData{ - Name: item.Name, - RoomId: util.StringTarnsInt64(names[3]), - BranchId: util.StringTarnsInt64(names[4]), - StartTime: names[5], - }) + if f { + room = "关联房间:容器数据不存在\n" } - biz.serChan <- podDatas - cont = rsp.Continue - if cont == "" { - break + elements = append(elements, webhook.InteractiveElementsBody{ + Tag: webhook.InteractiveTagDiv, + Text: &webhook.InteractiveText{ + Tag: webhook.InteractiveTagPlainText, + Content: room, + }, + }) + color := webhook.GeneralColor + if s >= outTime { + color = webhook.WarnColor } - } - return + webhook.InteractivePush(biz.webhookConf.ContainerWebhook.Url, webhook.CardContent("容器时长提醒", color, elements...)) + }() } -func (biz *Biz) serviceDel(ctx context.Context) { - for { - select { - case pods := <-biz.serChan: - var ids []int64 - for _, pod := range pods { - ids = append(ids, pod.RoomId) - } - roomMap, err := biz.roomList(ctx, ids) - if err != nil { - biz.log.Errorf("get room list fail:%v", err) - } +func (biz *Biz) shi(s int64) (d, h, m int64) { - for _, pod := range pods { - if _, ok := roomMap[pod.RoomId]; !ok { - biz.ser.Delete(ctx, pod.Name) - } - } - case <-time.After(time.Second * outTime): - return - } - } -} + d, s = biz.yu(s, 86400) -// 查看房间信息 -func (biz *Biz) roomList(ctx context.Context, ids []int64) (map[int64]int32, error) { - client, err := biz.roomServerClient(ctx) - if err != nil { - biz.log.Errorf("room server client fail:%v", err) - return nil, err + if s != 0 && s > 3600 { + h, s = biz.yu(s, 3600) } - rsp, err := client.GetRoomList(ctx, &v1.GetRoomListRequest{ - Ids: ids, - Status: int32(v1.RoomStatus_RoomStatusUp), - }) - if err != nil { - return nil, err + if s != 0 && s > 60 { + m, s = biz.yu(s, 60) } - items := make(map[int64]int32) - for _, item := range rsp.Data { - items[item.RoomId] = 1 - } - return items, nil + return +} + +func (biz *Biz) yu(s int64, d int64) (m int64, c int64) { + m = s / d + c = s % d + return } diff --git a/internal/biz/biz_test.go b/internal/biz/biz_test.go deleted file mode 100644 index fb41e1c..0000000 --- a/internal/biz/biz_test.go +++ /dev/null @@ -1,49 +0,0 @@ -package biz - -import ( - "context" - "git.gz.internal.jumaiyx.cn/pkg/log" - "testing" - "time" -) - -func TestNewBiz(t *testing.T) { - time.Sleep(time.Second * 30) -} - -func TestCheck(t *testing.T) { - l := log.DefaultLogger() - build := NewBiz(l) - build.Check(context.TODO()) -} -func TestNewBiz_Deployment(t *testing.T) { - l := log.DefaultLogger() - build := NewBiz(l) - wg.Add(2) - go func() { - defer wg.Done() - build.deployment(context.TODO()) - }() - go func() { - defer wg.Done() - build.deploymentDel(context.TODO()) - }() - wg.Wait() - -} - -func TestNewBiz_Service(t *testing.T) { - l := log.DefaultLogger() - build := NewBiz(l) - wg.Add(2) - go func() { - defer wg.Done() - build.service(context.TODO()) - }() - go func() { - defer wg.Done() - build.serviceDel(context.TODO()) - }() - wg.Wait() - -} diff --git a/internal/biz/configs/config b/internal/biz/configs/config deleted file mode 100644 index 2e8027a..0000000 --- a/internal/biz/configs/config +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -clusters: -- cluster: - certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUN5RENDQWJDZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeU1Ea3lOekF4TXpRek9Wb1hEVE15TURreU5EQXhNelF6T1Zvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBS1VGClBZdjVCdlRYLzlXdjZhWU9vWmM5cUtnclVnQjRzZFBWYVVJMFFBRlV1cUhEeE1RMGdBc1RBL2xtUkxZL0NJRm8KS21pOHNYR1J4Wmh2Lytqd01iKzB6U0oxNzd5RVpGSmQyZlQ3QkRkRHdJVkdNRnVUYytUN2xnNzdLVXFENHBSMgp1Mm1hcmRuWGs3cmtzNUR0alg1QUdhdW45VWRiMmRrb3orYmc5aC9XWTB6NjczUysvcVBnUzBER1o3bUtUTm5zCjdQaXdYbDV2MFNqUDM0ejRNRjAxU0g1Y3RxQm12OUhUOERvL0pMRjlkNUVaaGtPWlBuL1RiTjZqSGRKenZqTzUKbjU4T1ZQQ3VKUGhrbm1VUE1pZDJISU1ncEdqMUN3NWJYQXdDZ0RmeVpuNG15WEJ6eU0wb0FSazBYbUd3QXpWegpkQ0g4d2ZGL2lPWi81SGpZaGswQ0F3RUFBYU1qTUNFd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFBRlJRZEdnaENaNUFqckFidjJOenUvUzJ2cXAKRGQ3Z3FJUytXYVdTVDNoUXRYTjl2UUpiN3dGWktJb3l6Y3hZOUtOeldjT3Z5V05UZnliK2Z4dFI3RHJpRDV6WApUWngyZWdZSlN3R3Y3T0hPU0VGVHpTSXBRTlBLNURhejZ4b0ZsUE85M1lyZ1o1VTd0bVlRN3FTOUZXV1VWR3hZCk42TFpjbEtrYTM4MEFZRzd2TlZZNFdacHZDVG9Ed2xsb2JMOE85WVdWdmp2TGw1TDAwL201MDNNZTViREEydVEKSjdPa1dENGtiL2Rob0paQjdaOWZId0tWaTgxYUkxNm9ERlAwbTR5YWQvckZBS3FHUlcxdVpLTXNYK29JL0ttVApVcHp0QStzSXhZZXlBK1VaSXJoN1NjSkZ3amVHdE1YUkJIM0RRUzRZc05SdHkxUnZjUnJXSk1uU3Z1MD0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= - server: https://192.168.1.156:6443 - name: kubernetes -contexts: -- context: - cluster: kubernetes - user: kubernetes-admin - name: kubernetes-admin@kubernetes -current-context: kubernetes-admin@kubernetes -kind: Config -preferences: {} -users: -- name: kubernetes-admin - user: - client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM4akNDQWRxZ0F3SUJBZ0lJTFV6blJtKzZqUkV3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TWpBNU1qY3dNVE0wTXpsYUZ3MHlNekE1TWpjd01UTTBOREJhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQTNYOFZrc2x3N3AxQUF3aG4KbW5nRHU3NWRUUUpXUm1EN014a3ZPN0ZiWFFXVTVHUDg3bHpEV2pMeUt2L1NqZTZ5a1VTTkE5Z21kTmRrOTY0RgpnYWpyRnRHSUZXVzM2NVFXeitRT25ZVWFHQk9VRHQ2VFloOWlSRXJIRjhsR3NRVW0vVi9NemttMXpkY284ZEtHCm5VbktDWDhyMW5yVm53UkRiRTE2VEozcFRhK2tXdmVHYlFoRW5PZHpBMkJFTDl3cWR4bUljNm1GMnFla0ZDVXoKMlF1cGtMR3JOMlBEVGd2YmdwcS9pbTdldUIyYXNLczE2RjByMElrMk83VHhoK2twZkQrazVTLzdUdTEyWGttVwpkNWIyZHlVMFlCZFZDRUJFV1JiK3ROU3oxQXlVdEZQbEkxRmdabWZaajdKRGFkYzlDMG9ML2hoOFA0UzU3NFlECnFjaEZxUUlEQVFBQm95Y3dKVEFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dFQkFJNVVaM2Fkb20vdFdRSDA4NERXeWZoRG0zVllJL0FoeDJ2dwozV0Z1S29KNFBsVzhQRDg4YkhLbDNOZTdrMktMa3diaitUUWFrQ3JQK21IY2k5UGVHRzNibjJ6Z3duSm5yekJzCkFTY01lTGh2TzVRbkV3Y0FqemJtYUg2SFVBUk8vQ1dwRjJma2hHQVV3SDlDZWQxN1RTZkRuVGUxKzRxaHkwaU8KSFEvMUs2YjFQVEFGQXhoY0k5NFp1Nzk2TEFObXhPWGpUeG5sSTVTa1Z6VGROTi9zUm40MnRMckEzeDRWWktrNApWNmE5Y3luZ3dvYzBXRmxNaU51aG1wOVo1VkNTOGpNT1E5dXljQnQvc09RcWpaYXhpMksrVUZsdFZNbk04cFNNCnZGaWtwbEorblFieVdPeWUwZkwzZ0YvQ1lERUxlOXEyeHlodGwrNyt0WUp3Sy9xWU5Ocz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo= - client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBM1g4VmtzbHc3cDFBQXdobm1uZ0R1NzVkVFFKV1JtRDdNeGt2TzdGYlhRV1U1R1A4CjdsekRXakx5S3YvU2plNnlrVVNOQTlnbWROZGs5NjRGZ2FqckZ0R0lGV1czNjVRV3orUU9uWVVhR0JPVUR0NlQKWWg5aVJFckhGOGxHc1FVbS9WL016a20xemRjbzhkS0duVW5LQ1g4cjFuclZud1JEYkUxNlRKM3BUYStrV3ZlRwpiUWhFbk9kekEyQkVMOXdxZHhtSWM2bUYycWVrRkNVejJRdXBrTEdyTjJQRFRndmJncHEvaW03ZXVCMmFzS3MxCjZGMHIwSWsyTzdUeGgra3BmRCtrNVMvN1R1MTJYa21XZDViMmR5VTBZQmRWQ0VCRVdSYit0TlN6MUF5VXRGUGwKSTFGZ1ptZlpqN0pEYWRjOUMwb0wvaGg4UDRTNTc0WURxY2hGcVFJREFRQUJBb0lCQUVhR1IxVTBoSnZGUC9OMwpRcDJoWnZicFZ3WEZIN2xLK2RDOFRSakJrT2llZFZqL0tUS3dJSmRncjFEWG9iQUZkNS9mWnRMNWlNMGRKQTNrCnYrWVg1YnFmUHFncGVoVXRVdElndURLWmhjUnl2MnE0bmM3WlZVMlBUYk1hS0VNRzgvSXJCYWdOT2pEdk9COC8KUEJOcXdrU2gxRkIzVGZ0U3ZURUh2bEFVMjRzYk1NVWo3SkNQRDRjTXhocEc5VlI3dG1ZdzFkQ2MwcXM3L0FHRQp4aTg2NyszdXdYc1c2cWVOaytWY0tNdjJ6N0lNZ2g4Wk9aZnMwMlBIU1VVeTFQN0RnR1ZxenhvWnV2MjV3SG90Cll1eGdIbWxwdXFFRDdJcVBTQ1pTbTNPYldlODRvN3d4eTBKWnpsNUJGL1REUWtEdjM4NWRJaFVndlR3KzhMNU8KV21nU0dRRUNnWUVBM2lQbEptcy9sbm9XbUdzVytHM3RaOU1DRWI0WVFkTnk3RVRtM29VeXp3K0I5TVlOMW0vdQp5RnE5UjlITEdkU1hoS1YyMVlKUTBTTGcxc255WVNKV3F6UXloanJEalMxb2gyV2ZOYnBZWXhUL2wyQW1EcEFYCm93YUgyU0xZRm9sSlVtVE1NZE1nWEp2Rk8rREtqeFN3MDYzeXEvTExGeVZLR3lPOXVnWEJaMkVDZ1lFQS8wSVIKWEVKZVFMUFl0Q0l1Q25YOS9JOXF1azBvVHR3NDliaUpyUUlVQlY4Skg4cWJOTy81SXNZY2tyOGNIOExIQzBQTwpRcEttYzIyWTV1MmJJYnNEbEZEckt0bGdQQWpOVTFOdFd0RU9tUFY1UlBxUDdzaGxEZk1qNmRWNTlzZ0dxVEdRCmtKU01oczE1ekJJcURPNVVNeFpZbTlrcUczSE1EQ0NCVlFJVXEwa0NnWUJtMWRFb0p2QUo5anp0bEczTzFmelkKV291VHNSL0RvV0tMVkI1WWx1cjloaDFRTmp1RHNNK211ckx6UTRDMVZZQkxMTnBGWHcyUXM0ZkloemFJbHYvdQpRN3k3L1FvNEdmUlE4Yzl4YlBHcjlMV1oyeTNqQWZ1ZlFjK3p5bmlrZml1T1ZCRmZZM0NRenAvUTUzQitLa0x0Cnk1SVMzZFA4eEF0NVl1TmE4WDBtSVFLQmdRQ2RBSkFaQlNGZi9yN05uVEJnY3M2MEo2cG55TW1BSitoSkN5WnoKYVpIUzgrOXl4SFhPaThQYlphdHhmMmJYQ2tEUFp2ZFk3MGErUEswTmJSdzhGUUZRbXF6ckFDVTNCOXJ5NDUraAplbkRXR0Racy9Rakd3QytYOHZNbUFvNHdBanhHbVJ2b01kWjFtN0RNbW1lTzZKQ1ZrNnNRd1BRclNVVk9PRGdVCmgyRWJNUUtCZ0RQamNEdjN6SjJJVjFrY01kbjNEMWVyQjBFR0I1M2NYeHFoa0pET3Rqd3RUV3V2dHNIYzI0R3gKNmFQODI1QllUV2NQNEJ6dEFIN1A5RkE2QmlBa0t3T3lrWFR5dDg2RTBUZUM5L3FtSW9EY255aHdReHVCZlB3UQo2bVhxeVFLZFBOTnVoKzlReDBEcGxHMTkzVTFid0pya3k3b3hKc0dackg1OUdGK3VTT3J0Ci0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg== \ No newline at end of file diff --git a/internal/biz/configs/config.yaml b/internal/biz/configs/config.yaml deleted file mode 100644 index 08ab35b..0000000 --- a/internal/biz/configs/config.yaml +++ /dev/null @@ -1,42 +0,0 @@ -server: - name: room - http: - addr: 0.0.0.0:8000 - timeout: 30 - grpc: - addr: 0.0.0.0:9000 - timeout: 30 -data: - database: - source: "host=192.168.1.156 user=metachat password=metachat dbname=feedback port=15433 sslmode=disable TimeZone=Asia/Shanghai" -# source: postgresql://metachat:metachat@127.0.0.1:15432/room - redis: - addr: 192.168.1.156:16378 - password: MM5ZsXL0 - read_timeout: 1 - write_timeout: 1 - -etcd: - host: "127.0.0.1:20000" - -log: - level: "debug" - name: "room" - kafka: - addr: - - "127.0.0.1:9092" -amqp: - host: 192.168.1.156:5672 - username: jm - password: jm123456 - -id_encode: - uid: - salt: "test" - min_length: 8 - -rtctoken: - app_id: 6eeb2e6be9a141d1b0db920f36a5a9f3 - app_certificate: 80438856882e4563841d56f3cefeb763 - privilege_expiration: 3600 - token_expiration: 3600 \ No newline at end of file diff --git a/job.yaml b/job.yaml index 73cd347..5e73d43 100644 --- a/job.yaml +++ b/job.yaml @@ -1,20 +1,24 @@ apiVersion: batch/v1beta1 kind: CronJob metadata: - name: room-hot-compute-job - namespace: dev + name: monitor-container-job + namespace: unity spec: - schedule: "*/1 * * * *" + schedule: "0 5 * * *" jobTemplate: spec: template: spec: containers: - - name: room-hot-compute-job + - name: monitor-container-job image: registry.internal.jumaiyx.cn/job/room-server-clear:1 + imagePullPolicy: IfNotPresent command: - ./server + env: + - name: JM_ENVIRONMENT + value: dev restartPolicy: OnFailure imagePullSecrets: - name: registry-harbor \ No newline at end of file