add service
All checks were successful
Deploy Smart Search Backend Test / deploy (push) Successful in 2m55s
All checks were successful
Deploy Smart Search Backend Test / deploy (push) Successful in 2m55s
This commit is contained in:
@@ -2,13 +2,14 @@ package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log"
|
||||
"os"
|
||||
|
||||
"github.com/jackc/pgx/v5/pgxpool"
|
||||
_ "github.com/jackc/pgx/v5/stdlib"
|
||||
rkboot "github.com/rookie-ninja/rk-boot/v2"
|
||||
rkentry "github.com/rookie-ninja/rk-entry/v2/entry"
|
||||
rkgrpc "github.com/rookie-ninja/rk-grpc/v2/boot"
|
||||
"go.uber.org/zap"
|
||||
"google.golang.org/grpc"
|
||||
|
||||
"git.techease.ru/Smart-search/smart-search-back/internal/config"
|
||||
@@ -19,50 +20,51 @@ import (
|
||||
)
|
||||
|
||||
func main() {
|
||||
cfg, err := config.Load("config/config.yaml")
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to load config: %v", err)
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
|
||||
if err := database.RunMigrations(cfg.DatabaseURL()); err != nil {
|
||||
log.Fatalf("Failed to run migrations: %v", err)
|
||||
}
|
||||
|
||||
pool, err := pgxpool.New(ctx, cfg.DatabaseURL())
|
||||
if err != nil {
|
||||
log.Fatalf("Failed to connect to database: %v", err)
|
||||
}
|
||||
defer pool.Close()
|
||||
|
||||
if err := pool.Ping(ctx); err != nil {
|
||||
log.Fatalf("Failed to ping database: %v", err)
|
||||
}
|
||||
|
||||
log.Println("Successfully connected to database")
|
||||
|
||||
boot := rkboot.NewBoot(rkboot.WithBootConfigPath("config/boot.yaml", nil))
|
||||
|
||||
grpcEntry := rkgrpc.GetGrpcEntry("smart-search-service")
|
||||
if grpcEntry == nil {
|
||||
log.Fatal("Failed to get gRPC entry from rk-boot")
|
||||
}
|
||||
|
||||
loggerEntry := rkentry.GlobalAppCtx.GetLoggerEntry("smart-search-service")
|
||||
loggerEntry := rkentry.GlobalAppCtx.GetLoggerEntry("smart-search-logger")
|
||||
if loggerEntry == nil {
|
||||
loggerEntry = rkentry.GlobalAppCtx.GetLoggerEntryDefault()
|
||||
}
|
||||
logger := loggerEntry.Logger
|
||||
|
||||
cfg, err := config.Load("config/config.yaml")
|
||||
if err != nil {
|
||||
logger.Fatal("Failed to load config", zap.Error(err))
|
||||
}
|
||||
|
||||
ctx := context.Background()
|
||||
|
||||
if err := database.RunMigrations(cfg.DatabaseURL(), logger); err != nil {
|
||||
logger.Fatal("Failed to run migrations", zap.Error(err))
|
||||
}
|
||||
|
||||
pool, err := pgxpool.New(ctx, cfg.DatabaseURL())
|
||||
if err != nil {
|
||||
logger.Fatal("Failed to connect to database", zap.Error(err))
|
||||
}
|
||||
defer pool.Close()
|
||||
|
||||
if err := pool.Ping(ctx); err != nil {
|
||||
logger.Fatal("Failed to ping database", zap.Error(err))
|
||||
}
|
||||
|
||||
logger.Info("Successfully connected to database")
|
||||
|
||||
grpcEntry := rkgrpc.GetGrpcEntry("smart-search-service")
|
||||
if grpcEntry == nil {
|
||||
logger.Fatal("Failed to get gRPC entry from rk-boot")
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
sessionRepo := repository.NewSessionRepository(pool)
|
||||
inviteRepo := repository.NewInviteRepository(pool)
|
||||
|
||||
sessionCleaner := worker.NewSessionCleaner(ctx, sessionRepo)
|
||||
sessionCleaner := worker.NewSessionCleaner(ctx, sessionRepo, logger)
|
||||
sessionCleaner.Start()
|
||||
defer sessionCleaner.Stop()
|
||||
|
||||
inviteCleaner := worker.NewInviteCleaner(ctx, inviteRepo)
|
||||
inviteCleaner := worker.NewInviteCleaner(ctx, inviteRepo, logger)
|
||||
inviteCleaner.Start()
|
||||
defer inviteCleaner.Stop()
|
||||
|
||||
@@ -81,9 +83,9 @@ func main() {
|
||||
|
||||
boot.Bootstrap(ctx)
|
||||
|
||||
log.Println("gRPC server started via rk-boot")
|
||||
logger.Info("gRPC server started via rk-boot")
|
||||
|
||||
boot.WaitForShutdownSig(ctx)
|
||||
|
||||
log.Println("Server stopped gracefully")
|
||||
logger.Info("Server stopped gracefully")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user