diff --git a/lib/sidekiq-rate-limiter/server.rb b/lib/sidekiq-rate-limiter/server.rb index e08d478..9160200 100644 --- a/lib/sidekiq-rate-limiter/server.rb +++ b/lib/sidekiq-rate-limiter/server.rb @@ -2,5 +2,10 @@ require 'sidekiq-rate-limiter/fetch' Sidekiq.configure_server do |config| - Sidekiq.options[:fetch] = Sidekiq::RateLimiter::Fetch + # Backwards compatibility for Sidekiq < 6.1.0 (see https://github.com/mperham/sidekiq/pull/4602 for details) + if (Sidekiq::BasicFetch.respond_to?(:bulk_requeue)) + Sidekiq.options[:fetch] = Sidekiq::RateLimiter::Fetch + else + Sidekiq.options[:fetch] = Sidekiq::RateLimiter::Fetch.new(Sidekiq.options) + end end diff --git a/spec/sidekiq-rate-limiter/server_spec.rb b/spec/sidekiq-rate-limiter/server_spec.rb index ae086de..7a19de6 100644 --- a/spec/sidekiq-rate-limiter/server_spec.rb +++ b/spec/sidekiq-rate-limiter/server_spec.rb @@ -8,13 +8,13 @@ it 'should set Sidekiq.options[:fetch] as desired' do Sidekiq.configure_server do |config| - expect(Sidekiq.options[:fetch]).to eql(Sidekiq::RateLimiter::Fetch) + expect(Sidekiq.options[:fetch]).to be_an_instance_of(Sidekiq::RateLimiter::Fetch) end end it 'should inherit from Sidekiq::BasicFetch' do Sidekiq.configure_server do |config| - expect(Sidekiq.options[:fetch]).to be < Sidekiq::BasicFetch + expect(Sidekiq.options[:fetch].class).to be < Sidekiq::BasicFetch end end end