From 3afe728650a41c51504966c19190195d4bace98a Mon Sep 17 00:00:00 2001 From: eleksir Date: Mon, 30 Mar 2026 16:02:08 +0300 Subject: [PATCH] Add Redis connection health check at startup - Add Ping() call after Redis client creation to verify connectivity --- cmd/aleesa-misc-go/main.go | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/cmd/aleesa-misc-go/main.go b/cmd/aleesa-misc-go/main.go index 02f6ce4..6261ca0 100644 --- a/cmd/aleesa-misc-go/main.go +++ b/cmd/aleesa-misc-go/main.go @@ -39,6 +39,16 @@ func main() { Addr: fmt.Sprintf("%s:%d", misc.Config.Server, misc.Config.Port), }).WithContext(misc.Ctx).WithTimeout(time.Duration(misc.Config.Timeout) * time.Second) + // Проверим, что редиска доступна. Повторяем попытки, пока не подключится. + for { + if err := misc.RedisClient.Ping(misc.Ctx).Err(); err == nil { + break + } + + log.Warnf("Unable to connect to redis: %s, retrying...", err) + time.Sleep(time.Second) + } + // Обозначим, что хотим после соединения подписаться на события из канала config.Channel. misc.Subscriber = misc.RedisClient.Subscribe(misc.Ctx, misc.Config.Channel)