2014-01-20 66 views
1

隊列重量是否有限制?文檔中不太清楚。Sidekiq隊列重量限制

據我所知,often隊列將比default隊列多檢查2倍,比seldom隊列多4倍?如果我將添加一個100的權重隊列?

:queues: 
- [often, 7] 
- [default, 5] 
- [seldom, 3] 

回答

9

正如您所建議的那樣,隊列權重並不遵循y = 2x。重量只是表示下一份工作將從該隊列中拉出的機會。看看下面的例子:

:queues: 
- [double, 12] 
- [single, 6] 
- [half, 3] 

在此,接下來的工作已經從double來的57%的機會,從single來的29%的機會,並從half來的14%的機會。如果您在此設置中添加了權重爲100的隊列,則會出現偏差,因此您新的100重量隊列中有82%的下一份工作,double中的10%,single中的5%,以及大約2.5%從half

值得注意的是,這不是而不是控制作業實際運行或執行的頻率,但是檢查哪個隊列。例如,配置一個「緊急」隊列,其中包含需要以較高隊列權重快速運行的不頻繁作業,這意味着您的工作人員相對於工作進行的輪詢比使用默認配置更多。

如果您不希望低優先級,長時間運行的作業干擾高優先級快速作業,則應考慮爲每個作業運行專用實例,而不是嘗試調整隊列權重。