diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2024-01-16 13:42:19 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2024-01-16 13:42:19 +0300 |
commit | 84d1bd786125c1c14a3ba5f63e38a4cc736a9027 (patch) | |
tree | f550fa965f507077e20dbb6d61a8269a99ef7107 /vendor/gems/sidekiq-reliable-fetch | |
parent | 3a105e36e689f7b75482236712f1a47fd5a76814 (diff) |
Add latest changes from gitlab-org/gitlab@16-8-stable-eev16.8.0-rc42
Diffstat (limited to 'vendor/gems/sidekiq-reliable-fetch')
14 files changed, 155 insertions, 98 deletions
diff --git a/vendor/gems/sidekiq-reliable-fetch/Gemfile b/vendor/gems/sidekiq-reliable-fetch/Gemfile index 3bed294f56f..8f86b2fe0b6 100644 --- a/vendor/gems/sidekiq-reliable-fetch/Gemfile +++ b/vendor/gems/sidekiq-reliable-fetch/Gemfile @@ -11,4 +11,5 @@ group :test do gem "pry" gem 'simplecov', require: false gem 'stub_env', '~> 1.0' + gem 'redis', '~> 4.8' end diff --git a/vendor/gems/sidekiq-reliable-fetch/Gemfile.lock b/vendor/gems/sidekiq-reliable-fetch/Gemfile.lock index aeb163db018..484370fdfcc 100644 --- a/vendor/gems/sidekiq-reliable-fetch/Gemfile.lock +++ b/vendor/gems/sidekiq-reliable-fetch/Gemfile.lock @@ -1,46 +1,51 @@ PATH remote: . specs: - gitlab-sidekiq-fetcher (0.10.0) + gitlab-sidekiq-fetcher (0.11.0) json (>= 2.5) - sidekiq (~> 6.1) + sidekiq (~> 7.0) GEM remote: https://rubygems.org/ specs: - coderay (1.1.2) - connection_pool (2.4.0) - diff-lcs (1.3) - docile (1.3.1) - json (2.5.1) - method_source (0.9.0) - pry (0.11.3) - coderay (~> 1.1.0) - method_source (~> 0.9.0) - rack (2.2.6.4) + coderay (1.1.3) + concurrent-ruby (1.2.2) + connection_pool (2.4.1) + diff-lcs (1.5.0) + docile (1.4.0) + json (2.6.3) + method_source (1.0.0) + pry (0.14.2) + coderay (~> 1.1) + method_source (~> 1.0) + rack (3.0.8) redis (4.8.1) - rspec (3.8.0) - rspec-core (~> 3.8.0) - rspec-expectations (~> 3.8.0) - rspec-mocks (~> 3.8.0) - rspec-core (3.8.0) - rspec-support (~> 3.8.0) - rspec-expectations (3.8.1) + redis-client (0.18.0) + connection_pool + rspec (3.12.0) + rspec-core (~> 3.12.0) + rspec-expectations (~> 3.12.0) + rspec-mocks (~> 3.12.0) + rspec-core (3.12.2) + rspec-support (~> 3.12.0) + rspec-expectations (3.12.3) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.8.0) - rspec-mocks (3.8.0) + rspec-support (~> 3.12.0) + rspec-mocks (3.12.6) diff-lcs (>= 1.2.0, < 2.0) - rspec-support (~> 3.8.0) - rspec-support (3.8.0) - sidekiq (6.5.8) - connection_pool (>= 2.2.5, < 3) - rack (~> 2.0) - redis (>= 4.5.0, < 5) - simplecov (0.16.1) + rspec-support (~> 3.12.0) + rspec-support (3.12.1) + sidekiq (7.2.0) + concurrent-ruby (< 2) + connection_pool (>= 2.3.0) + rack (>= 2.2.4) + redis-client (>= 0.14.0) + simplecov (0.22.0) docile (~> 1.1) - json (>= 1.8, < 3) - simplecov-html (~> 0.10.0) - simplecov-html (0.10.2) + simplecov-html (~> 0.11) + simplecov_json_formatter (~> 0.1) + simplecov-html (0.12.3) + simplecov_json_formatter (0.1.4) stub_env (1.0.4) rspec (>= 2.0, < 4.0) @@ -50,6 +55,7 @@ PLATFORMS DEPENDENCIES gitlab-sidekiq-fetcher! pry + redis (~> 4.8) rspec (~> 3) simplecov stub_env (~> 1.0) diff --git a/vendor/gems/sidekiq-reliable-fetch/README.md b/vendor/gems/sidekiq-reliable-fetch/README.md index 4c7029e3955..5e218a76cd5 100644 --- a/vendor/gems/sidekiq-reliable-fetch/README.md +++ b/vendor/gems/sidekiq-reliable-fetch/README.md @@ -6,7 +6,7 @@ fetches from Redis. It's based on https://github.com/TEA-ebook/sidekiq-reliable-fetch. -**IMPORTANT NOTE:** Since version `0.7.0` this gem works only with `sidekiq >= 6.1` (which introduced Fetch API breaking changes). Please use version `~> 0.5` if you use older version of the `sidekiq` . +**IMPORTANT NOTE:** Since version `0.11.0` this gem works only with `sidekiq >= 7` (which introduced Fetch API breaking changes). Please use version `~> 0.10` if you use older version of the `sidekiq` . **UPGRADE NOTE:** If upgrading from 0.7.0, strongly consider a full deployed step on 0.7.1 before 0.8.0; that fixes a bug in the queue name validation that will hit if sidekiq nodes running 0.7.0 see working queues named by 0.8.0. See https://gitlab.com/gitlab-org/sidekiq-reliable-fetch/-/merge_requests/22 diff --git a/vendor/gems/sidekiq-reliable-fetch/gitlab-sidekiq-fetcher.gemspec b/vendor/gems/sidekiq-reliable-fetch/gitlab-sidekiq-fetcher.gemspec index b656267003a..df89abca4ac 100644 --- a/vendor/gems/sidekiq-reliable-fetch/gitlab-sidekiq-fetcher.gemspec +++ b/vendor/gems/sidekiq-reliable-fetch/gitlab-sidekiq-fetcher.gemspec @@ -1,6 +1,6 @@ Gem::Specification.new do |s| s.name = 'gitlab-sidekiq-fetcher' - s.version = '0.10.0' + s.version = '0.11.0' s.authors = ['TEA', 'GitLab'] s.email = 'valery@gitlab.com' s.license = 'LGPL-3.0' @@ -10,6 +10,6 @@ Gem::Specification.new do |s| s.require_paths = ['lib'] s.files = Dir.glob('lib/**/*.*') s.test_files = Dir.glob('{spec,tests}/**/*.*') - s.add_dependency 'sidekiq', '~> 6.1' + s.add_dependency 'sidekiq', '~> 7.0' s.add_runtime_dependency 'json', '>= 2.5' end diff --git a/vendor/gems/sidekiq-reliable-fetch/lib/sidekiq/base_reliable_fetch.rb b/vendor/gems/sidekiq-reliable-fetch/lib/sidekiq/base_reliable_fetch.rb index e8ee6d7df45..68268dc6ff4 100644 --- a/vendor/gems/sidekiq-reliable-fetch/lib/sidekiq/base_reliable_fetch.rb +++ b/vendor/gems/sidekiq-reliable-fetch/lib/sidekiq/base_reliable_fetch.rb @@ -53,7 +53,7 @@ module Sidekiq Sidekiq::ReliableFetch end - config[:fetch] = fetch_strategy.new(config) + config[:fetch_class] = fetch_strategy Sidekiq.logger.info('GitLab reliable fetch activated!') @@ -115,18 +115,18 @@ module Sidekiq attr_reader :cleanup_interval, :last_try_to_take_lease_at, :lease_interval, :queues, :use_semi_reliable_fetch, - :strictly_ordered_queues + :strictly_ordered_queues, :config - def initialize(options) - raise ArgumentError, 'missing queue list' unless options[:queues] + def initialize(capsule) + raise ArgumentError, 'missing queue list' unless capsule.config.queues - @config = options + @config = capsule.config @interrupted_set = Sidekiq::InterruptedSet.new - @cleanup_interval = options.fetch(:cleanup_interval, DEFAULT_CLEANUP_INTERVAL) - @lease_interval = options.fetch(:lease_interval, DEFAULT_LEASE_INTERVAL) + @cleanup_interval = config.fetch(:cleanup_interval, DEFAULT_CLEANUP_INTERVAL) + @lease_interval = config.fetch(:lease_interval, DEFAULT_LEASE_INTERVAL) @last_try_to_take_lease_at = 0 - @strictly_ordered_queues = !!options[:strict] - @queues = options[:queues].map { |q| "queue:#{q}" } + @strictly_ordered_queues = !!config[:strict] + @queues = config.queues.map { |q| "queue:#{q}" } end def retrieve_work @@ -140,7 +140,7 @@ module Sidekiq "#{self.class} does not implement #{__method__}" end - def bulk_requeue(inprogress, _options) + def bulk_requeue(inprogress) return if inprogress.empty? Sidekiq.redis do |conn| @@ -203,7 +203,7 @@ module Sidekiq Sidekiq.logger.info('Cleaning working queues') Sidekiq.redis do |conn| - conn.scan_each(match: "#{WORKING_QUEUE_PREFIX}:queue:*", count: SCAN_COUNT) do |key| + conn.scan(match: "#{WORKING_QUEUE_PREFIX}:queue:*", count: SCAN_COUNT) do |key| original_queue, identity = extract_queue_and_identity(key) next if original_queue.nil? || identity.nil? @@ -235,7 +235,7 @@ module Sidekiq rescue NameError end - max_retries_after_interruption ||= @config[:max_retries_after_interruption] + max_retries_after_interruption ||= config[:max_retries_after_interruption] max_retries_after_interruption ||= DEFAULT_MAX_RETRIES_AFTER_INTERRUPTION max_retries_after_interruption end @@ -264,7 +264,7 @@ module Sidekiq @last_try_to_take_lease_at = Time.now.to_f Sidekiq.redis do |conn| - conn.set(LEASE_KEY, 1, nx: true, ex: cleanup_interval) + conn.set(LEASE_KEY, 1, 'nx', 'ex', cleanup_interval) end end diff --git a/vendor/gems/sidekiq-reliable-fetch/lib/sidekiq/interrupted_set.rb b/vendor/gems/sidekiq-reliable-fetch/lib/sidekiq/interrupted_set.rb index 2fc7a10f9d0..799e744957e 100644 --- a/vendor/gems/sidekiq-reliable-fetch/lib/sidekiq/interrupted_set.rb +++ b/vendor/gems/sidekiq-reliable-fetch/lib/sidekiq/interrupted_set.rb @@ -45,7 +45,7 @@ module Sidekiq end def self.options - Sidekiq.respond_to?(:[]) ? Sidekiq : Sidekiq.options + Sidekiq.default_configuration end end end diff --git a/vendor/gems/sidekiq-reliable-fetch/lib/sidekiq/semi_reliable_fetch.rb b/vendor/gems/sidekiq-reliable-fetch/lib/sidekiq/semi_reliable_fetch.rb index e65d9b6324a..b9855100fb6 100644 --- a/vendor/gems/sidekiq-reliable-fetch/lib/sidekiq/semi_reliable_fetch.rb +++ b/vendor/gems/sidekiq-reliable-fetch/lib/sidekiq/semi_reliable_fetch.rb @@ -7,7 +7,7 @@ module Sidekiq # for semi-reliable fetch. DEFAULT_SEMI_RELIABLE_FETCH_TIMEOUT = 5 # seconds - def initialize(options) + def initialize(capsule) super @queues = @queues.uniq @@ -16,7 +16,7 @@ module Sidekiq private def retrieve_unit_of_work - work = Sidekiq.redis { |conn| conn.brpop(*queues_cmd, timeout: semi_reliable_fetch_timeout) } + work = brpop_with_sidekiq return unless work queue, job = work @@ -29,6 +29,17 @@ module Sidekiq unit_of_work end + def brpop_with_sidekiq + Sidekiq.redis do |conn| + conn.blocking_call( + conn.read_timeout + semi_reliable_fetch_timeout, + "brpop", + *queues_cmd, + semi_reliable_fetch_timeout + ) + end + end + def queues_cmd if strictly_ordered_queues @queues diff --git a/vendor/gems/sidekiq-reliable-fetch/spec/base_reliable_fetch_spec.rb b/vendor/gems/sidekiq-reliable-fetch/spec/base_reliable_fetch_spec.rb index 990d699e2f8..3671a8da39c 100644 --- a/vendor/gems/sidekiq-reliable-fetch/spec/base_reliable_fetch_spec.rb +++ b/vendor/gems/sidekiq-reliable-fetch/spec/base_reliable_fetch_spec.rb @@ -3,14 +3,20 @@ require 'fetch_shared_examples' require 'sidekiq/base_reliable_fetch' require 'sidekiq/reliable_fetch' require 'sidekiq/semi_reliable_fetch' +require 'sidekiq/capsule' describe Sidekiq::BaseReliableFetch do let(:job) { Sidekiq.dump_json(class: 'Bob', args: [1, 2, 'foo'], jid: 55) } + let(:queues) { ['foo'] } + let(:options) { { queues: queues } } + let(:config) { Sidekiq::Config.new(options) } + let(:capsule) { Sidekiq::Capsule.new("default", config) } + let(:fetcher) { Sidekiq::ReliableFetch.new(capsule) } before { Sidekiq.redis(&:flushdb) } describe 'UnitOfWork' do - let(:fetcher) { Sidekiq::ReliableFetch.new(queues: ['foo']) } + before { config.queues = queues } describe '#requeue' do it 'requeues job' do @@ -40,10 +46,12 @@ describe Sidekiq::BaseReliableFetch do end describe '#bulk_requeue' do - let(:options) { { queues: %w[foo bar] } } + let(:queues) { %w[foo bar] } let!(:queue1) { Sidekiq::Queue.new('foo') } let!(:queue2) { Sidekiq::Queue.new('bar') } + before { config.queues = queues } + it 'requeues the bulk' do uow = described_class::UnitOfWork jobs = [ uow.new('queue:foo', job), uow.new('queue:foo', job), uow.new('queue:bar', job) ] @@ -57,7 +65,7 @@ describe Sidekiq::BaseReliableFetch do ) end - described_class.new(options).bulk_requeue(jobs, nil) + described_class.new(capsule).bulk_requeue(jobs) expect(queue1.size).to eq 2 expect(queue2.size).to eq 1 @@ -67,24 +75,26 @@ describe Sidekiq::BaseReliableFetch do uow = described_class::UnitOfWork interrupted_job = Sidekiq.dump_json(class: 'Bob', args: [1, 2, 'foo'], interrupted_count: 3) jobs = [ uow.new('queue:foo', interrupted_job), uow.new('queue:foo', job), uow.new('queue:bar', job) ] - described_class.new(options).bulk_requeue(jobs, nil) + described_class.new(capsule).bulk_requeue(jobs) expect(queue1.size).to eq 1 expect(queue2.size).to eq 1 expect(Sidekiq::InterruptedSet.new.size).to eq 1 end - it 'does not put jobs into interrupted queue if it is disabled' do - options[:max_retries_after_interruption] = -1 + context 'when max_retries_after_interruption is disabled' do + let(:options) { { queues: queues, max_retries_after_interruption: -1 } } - uow = described_class::UnitOfWork - interrupted_job = Sidekiq.dump_json(class: 'Bob', args: [1, 2, 'foo'], interrupted_count: 3) - jobs = [ uow.new('queue:foo', interrupted_job), uow.new('queue:foo', job), uow.new('queue:bar', job) ] - described_class.new(options).bulk_requeue(jobs, nil) + it 'does not put jobs into interrupted queue' do + uow = described_class::UnitOfWork + interrupted_job = Sidekiq.dump_json(class: 'Bob', args: [1, 2, 'foo'], interrupted_count: 3) + jobs = [ uow.new('queue:foo', interrupted_job), uow.new('queue:foo', job), uow.new('queue:bar', job) ] + described_class.new(capsule).bulk_requeue(jobs) - expect(queue1.size).to eq 2 - expect(queue2.size).to eq 1 - expect(Sidekiq::InterruptedSet.new.size).to eq 0 + expect(queue1.size).to eq 2 + expect(queue2.size).to eq 1 + expect(Sidekiq::InterruptedSet.new.size).to eq 0 + end end it 'does not put jobs into interrupted queue if it is disabled on the worker' do @@ -93,7 +103,7 @@ describe Sidekiq::BaseReliableFetch do uow = described_class::UnitOfWork interrupted_job = Sidekiq.dump_json(class: 'Bob', args: [1, 2, 'foo'], interrupted_count: 3) jobs = [ uow.new('queue:foo', interrupted_job), uow.new('queue:foo', job), uow.new('queue:bar', job) ] - described_class.new(options).bulk_requeue(jobs, nil) + described_class.new(capsule).bulk_requeue(jobs) expect(queue1.size).to eq 2 expect(queue2.size).to eq 1 diff --git a/vendor/gems/sidekiq-reliable-fetch/spec/fetch_shared_examples.rb b/vendor/gems/sidekiq-reliable-fetch/spec/fetch_shared_examples.rb index df7f715f2f9..11489a37b27 100644 --- a/vendor/gems/sidekiq-reliable-fetch/spec/fetch_shared_examples.rb +++ b/vendor/gems/sidekiq-reliable-fetch/spec/fetch_shared_examples.rb @@ -1,54 +1,70 @@ shared_examples 'a Sidekiq fetcher' do let(:queues) { ['assigned'] } + let(:options) { { queues: queues } } + let(:config) { Sidekiq::Config.new(options) } + let(:capsule) { Sidekiq::Capsule.new("default", config) } - before { Sidekiq.redis(&:flushdb) } + before do + config.queues = queues + Sidekiq.redis(&:flushdb) + end describe '#retrieve_work' do let(:job) { Sidekiq.dump_json(class: 'Bob', args: [1, 2, 'foo']) } - let(:fetcher) { described_class.new(queues: queues) } + let(:fetcher) { described_class.new(capsule) } it 'does not clean up orphaned jobs more than once per cleanup interval' do - Sidekiq.redis = Sidekiq::RedisConnection.create(url: REDIS_URL, size: 10) - - expect(fetcher).to receive(:clean_working_queues!).once + Sidekiq::Client.via(Sidekiq::RedisConnection.create(url: REDIS_URL, size: 10)) do + expect(fetcher).to receive(:clean_working_queues!).once - threads = 10.times.map do - Thread.new do - fetcher.retrieve_work + threads = 10.times.map do + Thread.new do + fetcher.retrieve_work + end end - end - threads.map(&:join) + threads.map(&:join) + end end - it 'retrieves by order when strictly order is enabled' do - fetcher = described_class.new(strict: true, queues: ['first', 'second']) + context 'when strictly order is enabled' do + let(:queues) { ['first', 'second'] } + let(:options) { { strict: true, queues: queues } } - Sidekiq.redis do |conn| - conn.rpush('queue:first', ['msg3', 'msg2', 'msg1']) - conn.rpush('queue:second', 'msg4') - end + it 'retrieves by order' do + fetcher = described_class.new(capsule) + + Sidekiq.redis do |conn| + conn.rpush('queue:first', ['msg3', 'msg2', 'msg1']) + conn.rpush('queue:second', 'msg4') + end - jobs = (1..4).map { fetcher.retrieve_work.job } + jobs = (1..4).map { fetcher.retrieve_work.job } - expect(jobs).to eq ['msg1', 'msg2', 'msg3', 'msg4'] + expect(jobs).to eq ['msg1', 'msg2', 'msg3', 'msg4'] + end end - it 'does not starve any queue when queues are not strictly ordered' do - fetcher = described_class.new(queues: ['first', 'second']) + context 'when queues are not strictly ordered' do + let(:queues) { ['first', 'second'] } - Sidekiq.redis do |conn| - conn.rpush('queue:first', (1..200).map { |i| "msg#{i}" }) - conn.rpush('queue:second', 'this_job_should_not_stuck') - end + it 'does not starve any queue' do + fetcher = described_class.new(capsule) - jobs = (1..100).map { fetcher.retrieve_work.job } + Sidekiq.redis do |conn| + conn.rpush('queue:first', (1..200).map { |i| "msg#{i}" }) + conn.rpush('queue:second', 'this_job_should_not_stuck') + end + + jobs = (1..100).map { fetcher.retrieve_work.job } - expect(jobs).to include 'this_job_should_not_stuck' + expect(jobs).to include 'this_job_should_not_stuck' + end end shared_examples "basic queue handling" do |queue| - let (:fetcher) { described_class.new(queues: [queue]) } + let(:queues) { [queue] } + let(:fetcher) { described_class.new(capsule) } it 'retrieves the job and puts it to working queue' do Sidekiq.redis { |conn| conn.rpush("queue:#{queue}", job) } @@ -150,7 +166,8 @@ shared_examples 'a Sidekiq fetcher' do context 'with short cleanup interval' do let(:short_interval) { 1 } - let(:fetcher) { described_class.new(queues: queues, lease_interval: short_interval, cleanup_interval: short_interval) } + let(:options) { { queues: queues, lease_interval: short_interval, cleanup_interval: short_interval } } + let(:fetcher) { described_class.new(capsule) } it 'requeues when there is no heartbeat' do Sidekiq.redis { |conn| conn.rpush('queue:assigned', job) } diff --git a/vendor/gems/sidekiq-reliable-fetch/spec/reliable_fetch_spec.rb b/vendor/gems/sidekiq-reliable-fetch/spec/reliable_fetch_spec.rb index bdef04a021f..b919d610aca 100644 --- a/vendor/gems/sidekiq-reliable-fetch/spec/reliable_fetch_spec.rb +++ b/vendor/gems/sidekiq-reliable-fetch/spec/reliable_fetch_spec.rb @@ -2,6 +2,7 @@ require 'spec_helper' require 'fetch_shared_examples' require 'sidekiq/base_reliable_fetch' require 'sidekiq/reliable_fetch' +require 'sidekiq/capsule' describe Sidekiq::ReliableFetch do include_examples 'a Sidekiq fetcher' diff --git a/vendor/gems/sidekiq-reliable-fetch/spec/semi_reliable_fetch_spec.rb b/vendor/gems/sidekiq-reliable-fetch/spec/semi_reliable_fetch_spec.rb index 5bd40a80277..754cc5a4ef6 100644 --- a/vendor/gems/sidekiq-reliable-fetch/spec/semi_reliable_fetch_spec.rb +++ b/vendor/gems/sidekiq-reliable-fetch/spec/semi_reliable_fetch_spec.rb @@ -2,6 +2,9 @@ require 'spec_helper' require 'fetch_shared_examples' require 'sidekiq/base_reliable_fetch' require 'sidekiq/semi_reliable_fetch' +require 'sidekiq/capsule' +require 'sidekiq/config' +require 'redis' describe Sidekiq::SemiReliableFetch do include_examples 'a Sidekiq fetcher' @@ -9,7 +12,11 @@ describe Sidekiq::SemiReliableFetch do describe '#retrieve_work' do let(:queues) { ['stuff_to_do'] } let(:options) { { queues: queues } } - let(:fetcher) { described_class.new(options) } + let(:config) { Sidekiq::Config.new(options) } + let(:capsule) { Sidekiq::Capsule.new("default", config) } + let(:fetcher) { described_class.new(capsule) } + + before { config.queues = queues } context 'timeout config' do before do @@ -20,8 +27,9 @@ describe Sidekiq::SemiReliableFetch do let(:timeout) { nil } it 'brpops with the default timeout timeout' do - Sidekiq.redis do |connection| - expect(connection).to receive(:brpop).with("queue:stuff_to_do", { timeout: 5 }).once.and_call_original + Sidekiq.redis do |conn| + expect(conn).to receive(:blocking_call) + .with(conn.read_timeout + 5, 'brpop', 'queue:stuff_to_do', 5).once.and_call_original fetcher.retrieve_work end @@ -32,8 +40,9 @@ describe Sidekiq::SemiReliableFetch do let(:timeout) { '6' } it 'brpops with the default timeout timeout' do - Sidekiq.redis do |connection| - expect(connection).to receive(:brpop).with("queue:stuff_to_do", { timeout: 6 }).once.and_call_original + Sidekiq.redis do |conn| + expect(conn).to receive(:blocking_call) + .with(conn.read_timeout + 6, 'brpop', 'queue:stuff_to_do', 6).once.and_call_original fetcher.retrieve_work end diff --git a/vendor/gems/sidekiq-reliable-fetch/spec/spec_helper.rb b/vendor/gems/sidekiq-reliable-fetch/spec/spec_helper.rb index 45418571579..ab1c5317ff3 100644 --- a/vendor/gems/sidekiq-reliable-fetch/spec/spec_helper.rb +++ b/vendor/gems/sidekiq-reliable-fetch/spec/spec_helper.rb @@ -9,7 +9,7 @@ SimpleCov.start REDIS_URL = ENV['REDIS_URL'] || 'redis://localhost:6379/10' Sidekiq.configure_client do |config| - config.redis = { url: REDIS_URL } + config.redis = { url: REDIS_URL, read_timeout: 5 } end Sidekiq.logger.level = Logger::ERROR diff --git a/vendor/gems/sidekiq-reliable-fetch/tests/interruption/config.rb b/vendor/gems/sidekiq-reliable-fetch/tests/interruption/config.rb index f69cca96d80..a8f66a5f041 100644 --- a/vendor/gems/sidekiq-reliable-fetch/tests/interruption/config.rb +++ b/vendor/gems/sidekiq-reliable-fetch/tests/interruption/config.rb @@ -14,6 +14,7 @@ Sidekiq.configure_server do |config| # These will be ignored for :basic config[:cleanup_interval] = TEST_CLEANUP_INTERVAL config[:lease_interval] = TEST_LEASE_INTERVAL + config[:queues] = ['default'] Sidekiq::ReliableFetch.setup_reliable_fetch!(config) end diff --git a/vendor/gems/sidekiq-reliable-fetch/tests/reliability/config.rb b/vendor/gems/sidekiq-reliable-fetch/tests/reliability/config.rb index 05ffcfca9b5..c516112ccb7 100644 --- a/vendor/gems/sidekiq-reliable-fetch/tests/reliability/config.rb +++ b/vendor/gems/sidekiq-reliable-fetch/tests/reliability/config.rb @@ -23,6 +23,7 @@ Sidekiq.configure_server do |config| # These will be ignored for :basic config[:cleanup_interval] = TEST_CLEANUP_INTERVAL config[:lease_interval] = TEST_LEASE_INTERVAL + config[:queues] = ['default'] Sidekiq::ReliableFetch.setup_reliable_fetch!(config) end |