Sidekiq Redis :: CannotConnectError: Ошибка подключения к Redis на 127.0.0.1:6379 на производстве - PullRequest
0 голосов
/ 18 марта 2019

config / initializers / sidekiq.rb

Sidekiq.configure_server do |config|
   config.redis = { :url => 'redis://192.xxx.xxx.xx:6379/0' }
end

В производственной консоли, когда я делаю

ActivationWorker.perform_async(877459)

Выдает ошибку

Redis ::Ошибка CannotConnectError: Ошибка подключения к Redis на 127.0.0.1:6379 (Errno :: ECONNREFUSED)

Четные sidekiq.log печатает

Booting Sidekiq 5.1.3 with redis options {:url=>"redis://192.xxx.xxx.xx:6379/0", :id=>"Sidekiq-server-PID-646"}

Ответы [ 2 ]

1 голос
/ 18 марта 2019

Важно отметить, что для настройки местоположения Redis вы должен определить как Sidekiq.configure_server и Блоки Sidekiq.configure_client

Прямо из документов

Так же добавьте в свой config/initializers/sidekiq.rb:

Sidekiq.configure_client do |config|
   config.redis = { :url => 'redis://192.xxx.xxx.xx:6379/0' }
end

Также важные заметки из документов:

ПРИМЕЧАНИЕ. Конфигурационный хеш должен иметь символические ключи.

ПРИМЕЧАНИЕ. Неизвестные параметры передаются основному клиенту Redis, поэтому любые параметры, поддерживаемые драйвером, могут быть указаны в хэше.

0 голосов
/ 19 марта 2019

На основании комментариев мы знаем, что Redis находится на отдельном сервере.

Rails Server

Создайте файл в инициализаторах: config/initializers/sidekiq.rb:

Sidekiq.configure_server do |config|
  config.redis = {
    url: "redis://192.xxx.xxx.xxx:6379/12"
  }
end

Sidekiq.configure_client do |config|
  config.redis = {
    url: "redis://192.xxx.xxx.xxx:6379/12"
  }
end

Redis-сервер

  • Редактировать /etc/redis/redis.conf
  • Обновить привязанный порт
  • пример: bind 192.xxx.xxx.xxx
  • перезагрузить redis
...