dataRT/main.go

45 lines
733 B
Go

package main
import (
"context"
"datart/config"
"datart/data"
"datart/route"
"os"
"os/signal"
"strconv"
"syscall"
"time"
"github.com/gin-gonic/gin"
)
func main() {
signalChan := make(chan os.Signal, 1)
signal.Notify(signalChan, syscall.SIGINT, syscall.SIGTERM)
// gin.SetMode(gin.ReleaseMode)
engine := gin.Default()
// engine := gin.New()
route.LoadRoute(engine)
processes := data.NewProcesses()
processes.StartDataProcessing()
go func() {
port := strconv.Itoa(config.Conf().ServerConf().GetPort())
if err := engine.Run(":" + port); err != nil {
panic(err)
}
}()
<-signalChan
ctx, cancel := context.WithTimeout(context.Background(), 30*time.Second)
defer cancel()
processes.Cancel(ctx)
}