2023-12-30 17:40:20 +08:00
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
2024-01-02 11:50:54 +08:00
|
|
|
"embed"
|
2023-12-30 17:40:20 +08:00
|
|
|
"fmt"
|
2024-01-13 11:43:54 +08:00
|
|
|
"github.com/gin-gonic/gin"
|
2024-01-13 12:04:40 +08:00
|
|
|
"github.com/sirupsen/logrus"
|
2024-01-13 11:43:54 +08:00
|
|
|
"message-nest/migrate"
|
|
|
|
|
"message-nest/models"
|
|
|
|
|
"message-nest/pkg/logging"
|
2024-01-13 12:04:40 +08:00
|
|
|
|
2024-01-13 11:43:54 +08:00
|
|
|
"message-nest/pkg/setting"
|
2023-12-30 17:40:20 +08:00
|
|
|
"message-nest/pkg/table"
|
2024-01-13 11:43:54 +08:00
|
|
|
"message-nest/routers"
|
2023-12-31 21:31:56 +08:00
|
|
|
"message-nest/service/cron_service"
|
|
|
|
|
"message-nest/service/env_service"
|
2024-01-03 19:55:38 +08:00
|
|
|
"message-nest/service/send_message_service"
|
2023-12-30 17:40:20 +08:00
|
|
|
"net/http"
|
2024-01-03 19:55:38 +08:00
|
|
|
"sync"
|
2023-12-30 17:40:20 +08:00
|
|
|
)
|
|
|
|
|
|
2024-01-02 11:50:54 +08:00
|
|
|
var (
|
|
|
|
|
//go:embed web/dist/*
|
|
|
|
|
f embed.FS
|
2024-01-03 19:55:38 +08:00
|
|
|
|
|
|
|
|
wg sync.WaitGroup
|
2024-01-02 11:50:54 +08:00
|
|
|
)
|
|
|
|
|
|
2023-12-30 17:40:20 +08:00
|
|
|
func init() {
|
2024-01-13 11:43:54 +08:00
|
|
|
setting.Setup()
|
2024-01-07 21:30:59 +08:00
|
|
|
logging.Setup()
|
|
|
|
|
migrate.Setup()
|
2023-12-30 17:40:20 +08:00
|
|
|
models.Setup()
|
|
|
|
|
table.Setup()
|
2023-12-31 21:31:56 +08:00
|
|
|
env_service.Setup()
|
|
|
|
|
cron_service.Setup()
|
2023-12-30 17:40:20 +08:00
|
|
|
}
|
|
|
|
|
|
2024-01-03 19:55:38 +08:00
|
|
|
func GinServerUp() {
|
2023-12-30 17:40:20 +08:00
|
|
|
gin.SetMode(setting.ServerSetting.RunMode)
|
|
|
|
|
|
2024-01-02 11:50:54 +08:00
|
|
|
routersInit := routers.InitRouter(f)
|
2023-12-30 17:40:20 +08:00
|
|
|
readTimeout := setting.ServerSetting.ReadTimeout
|
|
|
|
|
writeTimeout := setting.ServerSetting.WriteTimeout
|
|
|
|
|
endPoint := fmt.Sprintf(":%d", setting.ServerSetting.HttpPort)
|
|
|
|
|
maxHeaderBytes := 1 << 20
|
|
|
|
|
|
|
|
|
|
server := &http.Server{
|
|
|
|
|
Addr: endPoint,
|
|
|
|
|
Handler: routersInit,
|
|
|
|
|
ReadTimeout: readTimeout,
|
|
|
|
|
WriteTimeout: writeTimeout,
|
|
|
|
|
MaxHeaderBytes: maxHeaderBytes,
|
|
|
|
|
}
|
|
|
|
|
|
2024-01-13 12:04:40 +08:00
|
|
|
logrus.Info("start http server listening http://0.0.0.0", endPoint)
|
2023-12-30 17:40:20 +08:00
|
|
|
|
|
|
|
|
err := server.ListenAndServe()
|
|
|
|
|
if err != nil {
|
2024-01-13 12:04:40 +08:00
|
|
|
logrus.Error("Server err: ", err)
|
2023-12-30 17:40:20 +08:00
|
|
|
}
|
|
|
|
|
}
|
2024-01-03 19:55:38 +08:00
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
wg.Add(1)
|
|
|
|
|
|
|
|
|
|
go GinServerUp()
|
|
|
|
|
go send_message_service.MessageConsumer(&wg)
|
|
|
|
|
|
|
|
|
|
wg.Wait()
|
|
|
|
|
fmt.Println("Server exit...")
|
|
|
|
|
}
|