Files
015/backend/main.go

43 lines
922 B
Go

package main
import (
"fmt"
"pkg/utils"
"github.com/labstack/echo/v5"
"go.uber.org/zap"
)
func main() {
// 日志
var logger *zap.Logger
if utils.GetEnvWithDefault("node.env", "production") == "production" {
logger, _ = zap.NewProduction()
} else {
logger, _ = zap.NewDevelopment()
}
defer logger.Sync() //nolint:errcheck
zap.ReplaceGlobals(logger)
// redis
if err := utils.InitRedis(); err != nil {
logger.Fatal("redis init failed", zap.Error(err))
panic(err)
}
if err := utils.InitAsynq(); err != nil {
logger.Fatal("asynq init failed", zap.Error(err))
panic(err)
}
e := echo.New()
for _, middleware := range middlewares {
e.Use(middleware())
}
for _, route := range routes {
e.Match(route.Method, route.Path, route.Handler)
}
if err := e.Start(fmt.Sprintf(":%s", utils.GetEnvWithDefault("api.port", "5001"))); err != nil {
logger.Fatal("server failed", zap.Error(err))
}
}