mirror of
https://github.com/zhufuyi/sponge.git
synced 2025-10-04 08:26:24 +08:00
51 lines
1.0 KiB
Go
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
|
|
}
|