Valkey: Configurar o Valkey com Sidekiq

Esta documentação faz parte do guia Utilizar com Ruby. Consulte o guia completo aqui: Como ligar o Valkey ao Ruby.

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

A Stackhero disponibiliza uma solução Valkey cloud pronta a usar, que oferece várias vantagens, incluindo:

  • Interface web Redis Commander incluída.
  • Tamanho e transferências de mensagens ilimitados.
  • Atualizações fáceis com apenas um clique.
  • Performance otimizada e segurança reforçada graças a uma infraestrutura privada e dedicada.

Poupe tempo e simplifique a sua vida: bastam 5 minutos para experimentar a solução Valkey cloud hosting da Stackhero!

O Sidekiq utilizará automaticamente o servidor Valkey definido pela variável de ambiente REDIS_URL.

Pode definir a variável de ambiente REDIS_URL desta forma, apenas substituindo <password> e <XXXXXX> pela sua informação:

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

Por predefinição, o Sidekiq está configurado de modo a não tolerar perturbações na rede. Para melhorar esta situação, sugerimos que altere 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 segundos (120 segundos/2 minutos no total) antes de lançar um erro
  }
end

Esta configuração garante que, se o seu servidor Valkey ficar indisponível, o cliente tentará reconectar durante 2 minutos antes de apresentar um erro. Isto permite, por exemplo, que o servidor Valkey reinicie. Dependendo da utilização do Sidekiq na sua aplicação, pode ajustar este parâmetro para melhor se adequar às suas necessidades específicas.

Para mais informações sobre o Sidekiq e o Valkey, consulte a documentação oficial aqui.