Files
2024-12-19 13:31:29 +08:00

51 lines
1.0 KiB
Go

package initial
import (
"context"
"time"
"github.com/go-dev-frame/sponge/pkg/app"
"github.com/go-dev-frame/sponge/pkg/logger"
"github.com/go-dev-frame/sponge/pkg/tracer"
"github.com/go-dev-frame/sponge/internal/config"
//"github.com/go-dev-frame/sponge/internal/database"
)
// 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 database.CloseDB()
//})
// close redis
//if config.Get().App.CacheType == "redis" {
// closes = append(closes, func() error {
// return database.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)
})
}
// close logger
closes = append(closes, func() error {
return logger.Sync()
})
return closes
}