2014-12-27 5 views
2

Я запускаю свою производственную и промежуточную среду на одном сервере. Я пытаюсь установить пространства имен на основе среды, которая работает. Например, я не хочу, чтобы моя производственная среда обрабатывала электронные письма в очереди промежуточной среды и наоборот. Я использую тот же код для своей локальной среды.Почему redis namespacing с Sidekiq не работает?

Вот код:

# config/initializers/sidekiq.rb 
Sidekiq.configure_server do |config| 
    config.redis = { url: 'redis://localhost:6379/0', namespace: "sidekiq_app_name_#{Rails.env}" } 
end 

Sidekiq.configure_client do |config| 
    config.redis = { url: 'redis://localhost:6379/0', namespace: "sidekiq_app_name_#{Rails.env}" } 
end 

Всякий раз, когда я использую этот код сообщения электронной почты, отправляемые в очередь по умолчанию, но они не обработаны. Если я удалю часть «пространства имен», все вернется к норме. Это только что было проверено локально.

Любые идеи, что мне может не хватать здесь?

Я бегу sidekiq v3.3.0, а также capistrano-sidekiq 0.4.0 для развертывания.

ответ

0

Мне удалось решить это самостоятельно. Проблема заключалась в том, что я каким-то образом удается добавить следующий код в config.ru:

require 'sidekiq' 

Sidekiq.configure_client do |config| 
    config.redis = { :size => 1 } 
end 

После удаления, все работало!

Смежные вопросы