dataRT/main.go

45 lines
733 B
Go
Raw Normal View History

2025-08-15 16:01:02 +08:00
package main
2025-10-23 18:02:29 +08:00
import (
2025-12-05 17:54:25 +08:00
"context"
2025-10-23 18:02:29 +08:00
"datart/config"
"datart/data"
"datart/route"
2025-12-05 17:54:25 +08:00
"os"
"os/signal"
2025-10-23 18:02:29 +08:00
"strconv"
2025-12-05 17:54:25 +08:00
"syscall"
"time"
2025-10-23 18:02:29 +08:00
"github.com/gin-gonic/gin"
)
func main() {
2025-12-05 17:54:25 +08:00
signalChan := make(chan os.Signal, 1)
signal.Notify(signalChan, syscall.SIGINT, syscall.SIGTERM)
// gin.SetMode(gin.ReleaseMode)
engine := gin.Default()
// engine := gin.New()
2025-10-23 18:02:29 +08:00
route.LoadRoute(engine)
2025-12-05 17:54:25 +08:00
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()
2025-10-23 18:02:29 +08:00
2025-12-05 17:54:25 +08:00
processes.Cancel(ctx)
2025-10-23 18:02:29 +08:00
}