@@ -11,17 +11,19 @@ import (
1111 "time"
1212
1313 "github.com/MakeNowJust/heredoc"
14+ "github.com/jackc/pgx/v5"
1415 "github.com/joho/godotenv"
1516 "github.com/spf13/cobra"
1617 "go.uber.org/automaxprocs/maxprocs"
1718 "go.uber.org/zap"
1819
1920 "github.com/PythonHacker24/linux-acl-management-backend/api/routes"
2021 "github.com/PythonHacker24/linux-acl-management-backend/config"
22+ "github.com/PythonHacker24/linux-acl-management-backend/internal/postgresql"
23+ "github.com/PythonHacker24/linux-acl-management-backend/internal/redis"
2124 "github.com/PythonHacker24/linux-acl-management-backend/internal/scheduler"
2225 "github.com/PythonHacker24/linux-acl-management-backend/internal/scheduler/fcfs"
2326 "github.com/PythonHacker24/linux-acl-management-backend/internal/session"
24- "github.com/PythonHacker24/linux-acl-management-backend/internal/redis"
2527 "github.com/PythonHacker24/linux-acl-management-backend/internal/transprocessor"
2628 "github.com/PythonHacker24/linux-acl-management-backend/internal/utils"
2729)
@@ -131,6 +133,14 @@ func run(ctx context.Context) error {
131133 zap .L ().Fatal ("Failed to connect to Redis" , zap .Error (err ))
132134 }
133135
136+ connPQ , err := pgx .Connect (context .Background (), os .Getenv ("DATABASE_URL" ))
137+ if err != nil {
138+ fmt .Fprintf (os .Stderr , "Unable to connect to database: %v\n " , err )
139+ os .Exit (1 )
140+ }
141+
142+ archivalPQ := postgresql .New (connPQ )
143+
134144 /*
135145 initializing schedular
136146 scheduler uses context to quit - part of waitgroup
@@ -139,7 +149,7 @@ func run(ctx context.Context) error {
139149 errCh := make (chan error , 1 )
140150
141151 /* create a session manager */
142- sessionManager := session .NewManager (logRedisClient )
152+ sessionManager := session .NewManager (logRedisClient , archivalPQ )
143153
144154 /* create a permissions processor */
145155 permProcessor := transprocessor .NewPermProcessor ()
@@ -218,6 +228,9 @@ func run(ctx context.Context) error {
218228
219229 wg .Wait ()
220230
231+ /* close archival database connection */
232+ connPQ .Close (context .Background ())
233+
221234 zap .L ().Info ("All background processes closed gracefully" )
222235
223236 return err
0 commit comments