Initial cloud-services repo - gateway service + pkg modules

This commit is contained in:
Chris Rai
2026-01-30 23:14:52 -05:00
commit fbb820d7b3
1037 changed files with 171318 additions and 0 deletions

View File

@@ -0,0 +1,60 @@
package server
import (
"context"
"errors"
"io"
"time"
"gateway/services"
"fiskerinc.com/modules/logger"
)
func logRedisErr(err error) {
if errors.Is(err, io.EOF) {
logger.Warn().Err(err).Send()
} else {
logger.Error().Err(err).Send()
}
}
// StartRedisQueue intiates Redis queue listener
func StartRedisQueue(ctx context.Context) {
logger.Info().Msg("initializing redis queues")
defer func() {
if err := recover(); err != nil {
logger.Error().Msgf("PanicRedis %v", err)
}
}()
for {
err := services.GetRedisQueues().Listen(ctx, services.GetConnections().SendMsgToClient)
for err != nil {
logRedisErr(err)
err = services.GetRedisQueues().Restart()
time.Sleep(time.Second * 10)
}
}
}
// StartRedisSubscriptions initiates Redis subscription listener
func StartRedisSubscriptions(ctx context.Context) {
logger.Info().Msg("initializing redis subscriptions")
defer func() {
if err := recover(); err != nil {
logger.Error().Msgf("PanicRedis %v", err)
}
}()
for {
err := services.GetRedisPubSub().Listen(ctx, services.GetConnections().SendMsgToClient)
for err != nil {
logRedisErr(err)
err = services.GetRedisPubSub().Restart()
time.Sleep(time.Second * 10)
}
}
}