Valkey: Configurer Valkey avec Sidekiq

Cette documentation fait partie du guide Utilisation avec Ruby. Consultez le guide complet ici : Comment connecter Valkey avec Ruby.

👋 Bienvenue dans la documentation Stackhero !

Stackhero propose une solution Valkey cloud clé en main qui offre de nombreux avantages, dont :

  • Interface web Valkey Admin incluse.
  • Taille et transferts de messages illimités.
  • Mises à jour faciles en un seul clic.
  • Performance optimale et sécurité avancée grâce à une infrastructure privée et dédiée.

Gagnez du temps et simplifiez-vous la vie : il ne vous faut que 5 minutes pour essayer l’hébergement Valkey cloud de Stackhero !

Sidekiq utilisera automatiquement le serveur Valkey défini par la variable d’environnement REDIS_URL.

Vous pouvez définir la variable d’environnement REDIS_URL comme ceci, en remplaçant simplement <password> et <XXXXXX> par vos informations :

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

Par défaut, Sidekiq est configuré de manière à ne tolérer aucune perturbation réseau. Pour améliorer cela, nous vous recommandons de modifier la configuration du client Sidekiq dans config/initializers/sidekiq.rb afin d’augmenter la stabilité :

# Fichier config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
  config.redis = {
    network_timeout: 5, # Définit le timeout à 5 secondes
    pool_timeout: 5, # Définit le timeout à 5 secondes
    reconnect_attempts: Array.new(240, 0.5) # Tente de se reconnecter 240 fois, toutes les 0,5 seconde (soit 120 secondes/2 minutes au total) avant de déclencher une erreur
  }
end

Cette configuration garantit que si votre serveur Valkey devient indisponible, le client tentera des reconnexions pendant 2 minutes avant de remonter une erreur. Cela laisse le temps au serveur Valkey de redémarrer, par exemple. Selon l’utilisation de Sidekiq dans votre application, vous pouvez ajuster ce paramètre pour l’adapter à vos besoins spécifiques.

Pour plus d’informations sur Sidekiq et Valkey, vous pouvez consulter la documentation officielle ici.