6cda93923a2cca220340c407ad5d52be14810d6c

Author
TheEdgeOfRage <git@theedgeofrage.com>
Committer
TheEdgeOfRage <git@theedgeofrage.com>
Date

Message

Add db ping and migration log

Diff

 1diff --git a/cmd/main.go b/cmd/main.go
 2index 3abe536474a367d3a50c57ba710047dd17302b62..9f7211e0320b86f7071a1f8a96e63a5a403deb1b 100644
 3--- a/cmd/main.go
 4+++ b/cmd/main.go
 5@@ -52,6 +52,7 @@ func main() {
 6 		return
 7 	}
 8 
 9+	logger.Info("Running migrations")
10 	if err := db.RunMigrations(cfg.DBURI); err != nil {
11 		logger.Error("Failed to run migrations", "error", err)
12 		return
13@@ -67,6 +68,7 @@ func main() {
14 		return
15 	}
16 	defer db.Close()
17+
18 	parser := feedparser.NewParser(logger)
19 	youTubeClient := youtube.NewYouTubeClient(logger, cfg.YouTubeAPIKey)
20 	downloader := downloader.NewYtdlpDownloader(logger)
21@@ -74,6 +76,7 @@ func main() {
22 		logger.Error("yt-dlp validation failed", "error", err)
23 		return
24 	}
25+
26 	handler := handler.New(
27 		logger,
28 		db,
29diff --git a/db/psql.go b/db/psql.go
30index 4a120c6fefa2cd03612deef406206efe003addfc..79bddc43b7241d56bf10e11e58b6f97589627d78 100644
31--- a/db/psql.go
32+++ b/db/psql.go
33@@ -3,6 +3,7 @@ package db
34 import (
35 	"context"
36 	"log/slog"
37+	"time"
38 
39 	"github.com/jackc/pgx/v5/pgxpool"
40 )
41@@ -20,6 +21,13 @@ func NewPostgresDB(log *slog.Logger, dbURI string) (*postgresDB, error) {
42 		return nil, err
43 	}
44 
45+	ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
46+	defer cancel()
47+	err = db.Ping(ctx)
48+	if err != nil {
49+		return nil, err
50+	}
51+
52 	return &postgresDB{
53 		l:  log,
54 		db: db,