predictor/cmd/api/main.go

41 lines
786 B
Go

package main
import (
"git.intra.yksa.space/gsn/predictor/internal/service"
"git.intra.yksa.space/gsn/predictor/internal/transport/rest"
"git.intra.yksa.space/gsn/predictor/internal/transport/rest/handler"
"go.uber.org/zap"
)
const (
servicePrefix = "PREDICTOR"
)
func main() {
lg, err := zap.NewProduction()
if err != nil {
panic(err)
}
svc := service.New()
handler := handler.New(svc)
restConfig, err := rest.NewConfig(servicePrefix)
if err != nil {
lg.Fatal("failed to init transport config", zap.Error(err))
}
transport, err := rest.New(lg, handler, restConfig)
if err != nil {
lg.Fatal("failed to init transport", zap.Error(err))
}
for {
transport.Run()
if r := recover(); r != nil {
lg.Error("panic occured", zap.Any("recover", r))
}
}
}