2014-12-27 62 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 

一旦取消,一切正常!

相關問題