2014-02-10 14 views
6

在SideKiq的機制的文檔說什麼是服務器和客戶端術語在Sidekiq中的含義?

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

我很好奇這是什麼configure_server和configure_client這裏的意思?

 config.redis = {:namespace => "figs_#{Rails.env}", :size => 25, :url => 'redis://localhost:6379/0'} 

顯然是redis的的位置,隊列類型等

回答

0
Railscasts

Sidekiq具有作業插入的Redis和服務器端之前運行的客戶端,其中間件在作業處理之前運行。這個中間件重試作業,記錄它們並處理異常。

因此,您可以將處理作業(服務器端)的大小設置爲25,並將作業添加到隊列(客戶端)。這應該增加make隊列空的可能性。

但我還是不明白,爲什麼在config/initializers/sidekiq.rb一些配置和其他一些,但similiar在/config/sidekiq.yml(見Sidekiq:Advanced options

6

客戶是什麼,是推動就業機會Redis的,通常你的乘客,美洲獅麒麟進程運行Rails或Sinatra。服務器是從Redis提取作業的Sidekiq進程。一個複雜性:一個Sidekiq服務器進程可以將新工作推給Redis,因此也就像客戶端一樣!

config/sidekiq.yml意味着允許相同的配置作爲命令行參數。初始化器用於需要Ruby的更復雜的配置,例如Redis連接信息或自定義中間件。

0

我喜歡去想它,因爲它適用於Heroku的。有兩個主要的進程(dynos)web和worker。

DYNOS那些類型的網絡是您的應用程序(Web服務器)的運行,因此從路由器的所有連接被傳遞到你的網頁DYNOS您的應用程序服務的響應。

DYNOS是型工人都在您的後臺作業處理上。這是Sidekiq執行它的執行方法的地方,這樣它就不會阻止您的網頁動態調整。

正是在這種Sidekiq.configure_client從運行網絡DYNOS。它配置您的網絡測試儀如何連接到Sidekiq並提交作業。

正是在這種Sidekiq.configure_server從運行工人DYNOS。它配置你的工作人員如何連接到Sidekiq並處理作業。