Esta página apresenta como configurar o Asynq para usar o Redis Sentinel para evitar tempo de inatividade causado por falhas no Redis.

Pré-requisitos

Por favor, leia a documentação sobre Redis Sentinel para entender o tópico.

Configurar o Asynq para usar o Redis Sentinel

É muito simples configurar o Cliente e o Servidor do asynq para usar o Redis Sentinel. Use RedisFailoverClientOpt para especificar o nome do nó mestre do Redis e os endereços dos Sentinels do Redis.

var redis = &asynq.RedisFailoverClientOpt{
    MasterName:    "mymaster",
    SentinelAddrs: []string{"localhost:5000", "localhost:5001", "localhost:5002"},
}

Em seguida, passe esta opção de cliente para NewClient e NewBackground para criar uma instância usando Redis Sentinels.

client := asynq.NewClient(redis)

// ...

srv := asynq.NewServer(redis, asynq.Config{ Concurrency: 10 })

Com esta configuração, quando o nó mestre do Redis falha, os Sentinels iniciarão o processo de failover e notificarão o asynq do novo nó mestre, e o processamento de tarefas em segundo plano continuará a funcionar normalmente.