subscriptions cleanup
continuous-integration/drone/push Build is failing

This commit is contained in:
yc
2026-04-21 20:07:35 +02:00
parent ac305eaae0
commit 9037a7b3c7
2 changed files with 16 additions and 16 deletions
+4 -4
View File
@@ -36,7 +36,7 @@ func NewRedisRouter(server *Identity, redisUrl string, password string, db int,
return &r
}
func (r *RedisRouter) Route(msg *meowlib.ToServerMessage) (*meowlib.FromServerMessage, error) {
func (r *RedisRouter) Route(ctx context.Context, msg *meowlib.ToServerMessage) (*meowlib.FromServerMessage, error) {
var from_server *meowlib.FromServerMessage
// update messages counter
err := r.Client.Incr("statistics:messages:total").Err()
@@ -60,7 +60,7 @@ func (r *RedisRouter) Route(msg *meowlib.ToServerMessage) (*meowlib.FromServerMe
}
if msg.Timeout > 0 && len(from_server.Chat) == 0 && from_server.Invitation == nil {
logger.Info().Msg("long poll, subscribing for messages")
from_server, err = r.subscribe(msg, int(msg.Timeout))
from_server, err = r.subscribe(ctx, msg, int(msg.Timeout))
if err != nil {
return nil, err
}
@@ -205,7 +205,7 @@ func (r *RedisRouter) checkForMessage(msg *meowlib.ToServerMessage) (*meowlib.Fr
}
func (r *RedisRouter) subscribe(msg *meowlib.ToServerMessage, timeout int) (*meowlib.FromServerMessage, error) {
func (r *RedisRouter) subscribe(reqCtx context.Context, msg *meowlib.ToServerMessage, timeout int) (*meowlib.FromServerMessage, error) {
if err := r.Client.Incr("statistics:messages:messagessubscription").Err(); err != nil {
return nil, err
}
@@ -237,7 +237,7 @@ func (r *RedisRouter) subscribe(msg *meowlib.ToServerMessage, timeout int) (*meo
return fromServer, nil
}
ctx, cancel := context.WithTimeout(r.Context, time.Duration(timeout)*time.Second)
ctx, cancel := context.WithTimeout(reqCtx, time.Duration(timeout)*time.Second)
defer cancel()
ch := pubsub.Channel()