Redis®*: Configurar o Redis com Sidekiq

Esta documentação faz parte do guia Utilizar com Ruby. Consulte o guia completo aqui: Como conectar o Redis com Ruby.

👋 Bem-vindo à documentação da Stackhero!

A Stackhero oferece uma solução Redis cloud pronta a usar que proporciona uma série de benefícios, incluindo:

  • Interface web Redis Commander incluída.
  • Tamanho e transferências de mensagens ilimitados.
  • Atualizações simplificadas com apenas um clique.
  • Desempenho ótimo e segurança robusta garantidos por uma VM privada e dedicada.

Poupe tempo e simplifique a sua vida: são necessários apenas 5 minutos para experimentar a solução de hospedagem Redis cloud da Stackhero!

O Sidekiq usará automaticamente o servidor Redis definido na variável de ambiente REDIS_URL.

Pode definir a variável de ambiente REDIS_URL assim, substituindo <password> e <XXXXXX> pelas suas informações:

REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"

Por padrão, o Sidekiq está configurado de forma a não tolerar perturbações na rede. Para melhorar isso, sugerimos modificar a configuração do cliente Sidekiq em config/initializers/sidekiq.rb para aumentar a estabilidade:

# Ficheiro config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
  config.redis = {
    network_timeout: 5, # Definir o timeout para 5 segundos
    pool_timeout: 5, # Definir o timeout para 5 segundos
    reconnect_attempts: Array.new(240, 0.5) # Tentar reconectar 240 vezes, a cada 0.5 segundo (120 segundos/2 minutos no total) antes de acionar um erro
  }
end

Esta configuração garante que, se o seu servidor Redis se tornar indisponível, o cliente tentará novas tentativas durante 2 minutos antes de relatar um erro. Isso dá tempo para o servidor Redis reiniciar, por exemplo. Dependendo do uso do seu Sidekiq, pode ajustar esta configuração para melhor atender às suas necessidades específicas.

Para mais informações sobre Sidekiq e Redis, pode consultar a documentação oficial aqui.