Refactor gRPC adapter to use connection pool and improve error handling in product retrieval
This commit is contained in:
@@ -3,7 +3,7 @@ package main
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"github.com/jackc/pgx/v5"
|
||||
"github.com/jackc/pgx/v5/pgxpool"
|
||||
"github.com/joho/godotenv"
|
||||
"google.golang.org/grpc"
|
||||
"net"
|
||||
@@ -31,7 +31,7 @@ func logMessage(level string, format string, a ...interface{}) {
|
||||
}
|
||||
}
|
||||
|
||||
func createGrpcServer() {
|
||||
func createGrpcServer(pool *pgxpool.Pool) {
|
||||
|
||||
lis, err := net.Listen("tcp", ":8080")
|
||||
if err != nil {
|
||||
@@ -40,7 +40,7 @@ func createGrpcServer() {
|
||||
}
|
||||
grpcServer := grpc.NewServer()
|
||||
|
||||
repo, err := marketplace.RegisterAdapterGRPC(grpcServer)
|
||||
repo, err := marketplace.RegisterAdapterGRPC(grpcServer, pool)
|
||||
if err != nil {
|
||||
fmt.Printf("failed to register gRPC server: %v\n", err)
|
||||
return
|
||||
@@ -82,22 +82,15 @@ func main() {
|
||||
logMessage("info", "Redis client initialized successfully. 🟥")
|
||||
|
||||
// Initializing pgx connection
|
||||
conn, err := pgx.Connect(ctx, os.Getenv("POSTGRES_URL"))
|
||||
dbpool, err := pgxpool.New(ctx, os.Getenv("POSTGRES_URL"))
|
||||
if err != nil {
|
||||
logMessage("error", "Failed to connect to PostgreSQL: %v", err)
|
||||
return
|
||||
}
|
||||
defer conn.Close(ctx)
|
||||
defer dbpool.Close()
|
||||
logMessage("info", "Connected to PostgreSQL successfully. 🐘")
|
||||
createGrpcServer()
|
||||
// ------------------ shitting
|
||||
//mpRepo := marketplace.NewDBRepository(conn)
|
||||
//
|
||||
//productsRepo := products.NewAPIRepository(
|
||||
// mpRepo)
|
||||
//_, err = productsRepo.GetAllProducts(ctx, 262)
|
||||
//if err != nil {
|
||||
// return
|
||||
createGrpcServer(dbpool)
|
||||
|
||||
}
|
||||
|
||||
//for _, item := range items {
|
||||
|
||||
Reference in New Issue
Block a user