Redis®*: Konfigurowanie Redis z Sidekiq

Ta dokumentacja jest częścią przewodnika Używanie z Ruby. Pełny przewodnik znajdziesz tutaj: Jak połączyć Redis z Ruby.

👋 Witamy w dokumentacji Stackhero!

Stackhero oferuje gotowe do użycia rozwiązanie Redis cloud, które zapewnia wiele korzyści, w tym:

  • Włączony web UI Redis Commander.
  • Nieograniczona wielkość i transfer wiadomości.
  • Bezproblemowe aktualizacje za pomocą jednego kliknięcia.
  • Optymalna wydajność i solidne zabezpieczenia dzięki prywatnej i dedykowanej VM.

Oszczędzaj czas i upraszczaj sobie życie: wystarczy 5 minut, aby wypróbować rozwiązanie hostingu Redis cloud Stackhero!

Sidekiq automatycznie użyje serwera Redis zdefiniowanego w zmiennej środowiskowej REDIS_URL.

Możesz ustawić zmienną środowiskową REDIS_URL w ten sposób, zastępując <password> i <XXXXXX> swoimi informacjami:

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

Domyślnie Sidekiq jest skonfigurowany w sposób, który nie toleruje zakłóceń sieciowych. Aby to poprawić, sugerujemy modyfikację konfiguracji klienta Sidekiq w config/initializers/sidekiq.rb, aby zwiększyć stabilność:

# Plik config/initializers/sidekiq.rb
Sidekiq.configure_client do |config|
  config.redis = {
    network_timeout: 5, # Ustaw timeout na 5 sekund
    pool_timeout: 5, # Ustaw timeout na 5 sekund
    reconnect_attempts: Array.new(240, 0.5) # Próbuj ponownie połączyć się 240 razy, co 0,5 sekundy (120 sekund/2 minuty łącznie) przed wywołaniem błędu
  }
end

Ta konfiguracja zapewnia, że jeśli Twój serwer Redis stanie się niedostępny, klient podejmie próby ponownego połączenia przez 2 minuty przed zgłoszeniem błędu. Daje to czas na ponowne uruchomienie serwera Redis, na przykład. W zależności od użycia Sidekiq, możesz dostosować to ustawienie, aby lepiej odpowiadało Twoim specyficznym wymaganiom.

Więcej informacji na temat Sidekiq i Redis można znaleźć w oficjalnej dokumentacji tutaj.