2013-04-02 35 views
8

我一直試圖用sidekiq-limit_fetch寶石來限制每個隊列的工人數量,Sidekiq似乎「看到」日誌中強加的限制,但是當我觀察工人時限制被忽略。限制Sidekiq中每個隊列的工人數量

下面是從日誌的部分,其中Sidekiq看到限制:

2013-04-02T05:47:19Z 748 TID-11ilcw DEBUG: {:queues=> 
    ["recommendvariations", 
    "recommendvariations", 
    "recommendvariations", 
    "recommendphenotypes", 
    "recommendphenotypes", 
    "recommendphenotypes", 
    "preparse", 
    "preparse", 
    "preparse", 
    "parse", 
    "parse", 
    "parse", 
    "zipgenotyping", 
    "zipgenotyping", 
    "zipfulldata", 
    "deletegenotype", 
    "fitbit", 
    "frequency", 
    "genomegov", 
    "mailnewgenotype", 
    "mendeley_details", 
    "mendeley", 
    "pgp", 
    "plos_details", 
    "plos", 
    "snpedia", 
    "fixphenotypes"], 
    :concurrency=>5, 
    :require=>".", 
    :environment=>"production", 
    :timeout=>8, 
    :profile=>false, 
    :verbose=>true, 
    :pidfile=>"/tmp/sidekiq.pid", 
    :logfile=>"./log/sidekiq.log", 
    :limits=> 
    {"recommendvariations"=>1, 
    "recommendphenotypes"=>1, 
    "preparse"=>2, 
    "parse"=>2, 
    "zipgenotyping"=>1, 
    "zipfulldata"=>1, 
    "fitbit"=>3, 
    "frequency"=>10, 
    "genomegov"=>1, 
    "mailnewgenotype"=>1, 
    "mendeley_details"=>1, 
    "mendeley"=>1, 
    "pgp"=>1, 
    "plos_details"=>1, 
    "plos"=>1, 
    "snpedia"=>1, 
    "fixphenotypes"=>1}, 
    :strict=>false, 
    :config_file=>"config/sidekiq.yml", 
    :tag=>"snpr"} 

here's the sidekiq.yml。從sidekiq的網絡界面來看,這些限制被忽略了 - 現在,我有兩名工作人員參加了「推薦變化」 - 排隊,但應該是1.

我通過bundle exec sidekiq -e production -C config/sidekiq.yml開始工作。

有沒有人遇到過這個?

回答

4

你是否嘗試在sidekiq.rb初始化文件中設置限制?

像這樣:

Sidekiq::Queue['recommend'].limit = 1 

它爲我工作。

+0

這工作,但因爲我也有一箇舊版本的捆綁軟件安裝(1.0.21)更新,修復它 – Philipp

+0

我們可以做一個特定的隊列? – aks