Add redis connection test before start
This commit is contained in:
parent
6ea5e8cdfc
commit
f433e443f4
3 changed files with 21 additions and 0 deletions
|
@ -32,6 +32,15 @@ func ConnectDB(dbConfig *redis.Options) *redis.Client {
|
||||||
return localDb
|
return localDb
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Ping test connection to Redis database
|
||||||
|
func Ping(db *redis.Client) error {
|
||||||
|
status := db.Ping(ctx)
|
||||||
|
if status.String() != "ping: PONG" {
|
||||||
|
return &PingError{}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
func (config DBConfig) InsertPaste(key string, content string, secret string, ttl time.Duration) {
|
func (config DBConfig) InsertPaste(key string, content string, secret string, ttl time.Duration) {
|
||||||
type dbSchema struct {
|
type dbSchema struct {
|
||||||
content string
|
content string
|
||||||
|
|
7
internal/database/error.go
Normal file
7
internal/database/error.go
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
package database
|
||||||
|
|
||||||
|
type PingError struct{}
|
||||||
|
|
||||||
|
func (m *PingError) Error() string {
|
||||||
|
return "Connection to redis not work"
|
||||||
|
}
|
5
main.go
5
main.go
|
@ -2,6 +2,7 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"embed"
|
"embed"
|
||||||
|
"log"
|
||||||
|
|
||||||
"git.gnous.eu/gnouseu/plakken/internal/config"
|
"git.gnous.eu/gnouseu/plakken/internal/config"
|
||||||
"git.gnous.eu/gnouseu/plakken/internal/database"
|
"git.gnous.eu/gnouseu/plakken/internal/database"
|
||||||
|
@ -19,6 +20,10 @@ func main() {
|
||||||
initConfig := config.GetConfig()
|
initConfig := config.GetConfig()
|
||||||
dbConfig := database.InitDB(initConfig.RedisAddress, initConfig.RedisUser, initConfig.RedisPassword, initConfig.RedisDB)
|
dbConfig := database.InitDB(initConfig.RedisAddress, initConfig.RedisUser, initConfig.RedisPassword, initConfig.RedisDB)
|
||||||
db := database.ConnectDB(dbConfig)
|
db := database.ConnectDB(dbConfig)
|
||||||
|
err := database.Ping(db)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatal(err)
|
||||||
|
}
|
||||||
|
|
||||||
serverConfig := httpServer.ServerConfig{
|
serverConfig := httpServer.ServerConfig{
|
||||||
HTTPServer: httpServer.Config(initConfig.ListenAddress),
|
HTTPServer: httpServer.Config(initConfig.ListenAddress),
|
||||||
|
|
Loading…
Reference in a new issue