2014-12-27 53 views
2

我在同一台服务器上运行我的生产和临时环境。我试图根据运行的环境来设置命名空间。例如,我不希望我的生产环境处理由暂存环境排队的电子邮件,反之亦然。 我对本地环境使用相同的代码。为什么Redis与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 

一旦取消,一切正常!

相关问题