Files
sponge/cmd/serverNameExample_httpPbExample/initial/close.go
2024-03-09 15:14:31 +08:00

45 lines
894 B
Go

package initial
import (
"context"
"time"
"github.com/zhufuyi/sponge/pkg/app"
"github.com/zhufuyi/sponge/pkg/tracer"
"github.com/zhufuyi/sponge/internal/config"
//"github.com/zhufuyi/sponge/internal/model"
)
// 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 database
//closes = append(closes, func() error {
// return model.CloseDB()
//})
// 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
}