diff --git a/lib/sidekiq/capsule.rb b/lib/sidekiq/capsule.rb index c9f96173e..41047d6b1 100644 --- a/lib/sidekiq/capsule.rb +++ b/lib/sidekiq/capsule.rb @@ -28,6 +28,7 @@ def initialize(name, config) @name = name @config = config @queues = ["default"] + @weights = { "default" => 0 } @concurrency = config[:concurrency] @mode = :strict end diff --git a/test/capsule_test.rb b/test/capsule_test.rb index 3db494fd9..b28abcf65 100644 --- a/test/capsule_test.rb +++ b/test/capsule_test.rb @@ -43,6 +43,21 @@ assert_equal %w[foo baz baz baz], cap.queues end + it "parses weights correctly" do + cap = @cap + assert_equal({ "default" => 0 }, cap.weights) + + cap.queues = %w[foo bar,2] + assert_equal({ "foo" => 0, "bar" => 2 }, cap.weights) + + cap.queues = ["default"] + assert_equal({ "default" => 0 }, cap.weights) + + # config/sidekiq.yml input will look like this + cap.queues = [["foo"], ["baz", 3]] + assert_equal({ "foo" => 0, "baz" => 3 }, cap.weights) + end + it "can have customized middleware chains" do one = Object.new two = Object.new