Redis®*: Configuración de Redis con Sidekiq
Esta documentación forma parte de la guía Uso con Ruby. Consulte la guía completa aquí: Cómo conectar Redis con Ruby.
👋 ¡Bienvenido a la documentación de Stackhero!
Stackhero ofrece una solución Redis cloud lista para usar que proporciona numerosas ventajas, entre ellas:
- Interfaz web Redis Commander incluida.
- Tamaño y transferencia de mensajes ilimitados.
- Actualizaciones sencillas con solo un clic.
- Rendimiento óptimo y seguridad reforzada gracias a una infraestructura privada y dedicada.
Ahorre tiempo y simplifique su trabajo: solo necesita 5 minutos para probar la solución de alojamiento Redis cloud de Stackhero.
Sidekiq utilizará automáticamente el servidor Redis definido en la variable de entorno REDIS_URL.
Puede definir la variable de entorno REDIS_URL de la siguiente manera, sustituyendo <password> y <XXXXXX> por su información:
REDIS_URL="rediss://default:<password>@<XXXXXX>.stackhero-network.com:<PORT_TLS>"
Por defecto, la configuración de Sidekiq no contempla tolerancia ante interrupciones de red. Para mejorar esto, le recomendamos modificar la configuración del cliente Sidekiq en config/initializers/sidekiq.rb para aumentar la estabilidad:
# Archivo config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
config.redis = {
network_timeout: 5, # Establece el timeout en 5 segundos
pool_timeout: 5, # Establece el timeout en 5 segundos
reconnect_attempts: Array.new(240, 0.5) # Intenta reconectar 240 veces, cada 0,5 segundos (120 segundos/2 minutos en total) antes de lanzar un error
}
end
Esta configuración garantiza que si su servidor Redis deja de estar disponible, el cliente intentará reconectarse durante 2 minutos antes de informar de un error. Esto da tiempo, por ejemplo, a que el servidor Redis se reinicie. Dependiendo del uso que haga de Sidekiq, puede ajustar este parámetro para adaptarlo a sus necesidades específicas.
Para más información sobre Sidekiq y Redis, puede consultar la documentación oficial aquí.