mirror of
https://github.com/zhufuyi/sponge.git
synced 2025-10-05 08:46:57 +08:00
optimised code
This commit is contained in:
44
cmd/serverNameExample_grpcExample/initial/close.go
Normal file
44
cmd/serverNameExample_grpcExample/initial/close.go
Normal file
@@ -0,0 +1,44 @@
|
||||
package initial
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"github.com/zhufuyi/sponge/internal/config"
|
||||
"github.com/zhufuyi/sponge/internal/model"
|
||||
|
||||
"github.com/zhufuyi/sponge/pkg/app"
|
||||
"github.com/zhufuyi/sponge/pkg/tracer"
|
||||
)
|
||||
|
||||
// Close releasing resources after service exit
|
||||
func Close(servers []app.IServer) []app.Close {
|
||||
var closes []app.Close
|
||||
|
||||
// close server
|
||||
for _, s := range servers {
|
||||
closes = append(closes, s.Stop)
|
||||
}
|
||||
|
||||
// close mysql
|
||||
closes = append(closes, func() error {
|
||||
return model.CloseMysql()
|
||||
})
|
||||
|
||||
// close redis
|
||||
if config.Get().App.CacheType == "redis" {
|
||||
closes = append(closes, func() error {
|
||||
return model.CloseRedis()
|
||||
})
|
||||
}
|
||||
|
||||
// close tracing
|
||||
if config.Get().App.EnableTrace {
|
||||
closes = append(closes, func() error {
|
||||
ctx, _ := context.WithTimeout(context.Background(), 2*time.Second) //nolint
|
||||
return tracer.Close(ctx)
|
||||
})
|
||||
}
|
||||
|
||||
return closes
|
||||
}
|
Reference in New Issue
Block a user