Esta página presenta cómo configurar Asynq para usar Redis Sentinel para evitar tiempos de inactividad causados por fallos de Redis.
Requisitos previos
Por favor, lea la documentación sobre Redis Sentinel para entender el tema.
Configurar Asynq para usar Redis Sentinel
Es muy sencillo configurar el Client
y el Server
de asynq
para usar Redis Sentinel. Utilice RedisFailoverClientOpt
para especificar el nombre del nodo maestro de Redis y las direcciones de los Sentinel de Redis.
var redis = &asynq.RedisFailoverClientOpt{
MasterName: "mymaster",
SentinelAddrs: []string{"localhost:5000", "localhost:5001", "localhost:5002"},
}
Luego pase esta opción de cliente a NewClient
y NewBackground
para crear una instancia usando Redis Sentinels.
client := asynq.NewClient(redis)
// ...
srv := asynq.NewServer(redis, asynq.Config{ Concurrency: 10 })
Con esta configuración, cuando el nodo maestro de Redis falle, los Sentinel iniciarán el proceso de conmutación por error y notificarán a asynq
del nuevo nodo maestro, y el procesamiento de tareas en segundo plano continuará funcionando normalmente.