Update sidekiq to version 7 (#34745)
This commit is contained in:
		
							
								
								
									
										5
									
								
								Gemfile
									
									
									
									
									
								
							
							
						
						
									
										5
									
								
								Gemfile
									
									
									
									
									
								
							@@ -52,6 +52,7 @@ gem 'faraday-httpclient'
 | 
			
		||||
gem 'fast_blank', '~> 1.0'
 | 
			
		||||
gem 'fastimage'
 | 
			
		||||
gem 'hiredis', '~> 0.6'
 | 
			
		||||
gem 'hiredis-client'
 | 
			
		||||
gem 'htmlentities', '~> 4.3'
 | 
			
		||||
gem 'http', '~> 5.2.0'
 | 
			
		||||
gem 'http_accept_language', '~> 2.1'
 | 
			
		||||
@@ -82,10 +83,10 @@ gem 'rqrcode', '~> 3.0'
 | 
			
		||||
gem 'ruby-progressbar', '~> 1.13'
 | 
			
		||||
gem 'sanitize', '~> 7.0'
 | 
			
		||||
gem 'scenic', '~> 1.7'
 | 
			
		||||
gem 'sidekiq', '~> 6.5'
 | 
			
		||||
gem 'sidekiq', '< 8'
 | 
			
		||||
gem 'sidekiq-bulk', '~> 0.2.0'
 | 
			
		||||
gem 'sidekiq-scheduler', '~> 5.0'
 | 
			
		||||
gem 'sidekiq-unique-jobs', '~> 7.1'
 | 
			
		||||
gem 'sidekiq-unique-jobs', '> 8'
 | 
			
		||||
gem 'simple_form', '~> 5.2'
 | 
			
		||||
gem 'simple-navigation', '~> 4.4'
 | 
			
		||||
gem 'stoplight', '~> 4.1'
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										30
									
								
								Gemfile.lock
									
									
									
									
									
								
							
							
						
						
									
										30
									
								
								Gemfile.lock
									
									
									
									
									
								
							@@ -129,9 +129,6 @@ GEM
 | 
			
		||||
    brakeman (7.0.2)
 | 
			
		||||
      racc
 | 
			
		||||
    browser (6.2.0)
 | 
			
		||||
    brpoplpush-redis_script (0.1.3)
 | 
			
		||||
      concurrent-ruby (~> 1.0, >= 1.0.5)
 | 
			
		||||
      redis (>= 1.0, < 6)
 | 
			
		||||
    builder (3.3.0)
 | 
			
		||||
    bundler-audit (0.9.2)
 | 
			
		||||
      bundler (>= 1.2.0, < 3)
 | 
			
		||||
@@ -296,6 +293,8 @@ GEM
 | 
			
		||||
    highline (3.1.2)
 | 
			
		||||
      reline
 | 
			
		||||
    hiredis (0.6.3)
 | 
			
		||||
    hiredis-client (0.24.0)
 | 
			
		||||
      redis-client (= 0.24.0)
 | 
			
		||||
    hkdf (0.3.0)
 | 
			
		||||
    htmlentities (4.3.4)
 | 
			
		||||
    http (5.2.0)
 | 
			
		||||
@@ -702,6 +701,8 @@ GEM
 | 
			
		||||
      psych (>= 4.0.0)
 | 
			
		||||
    redcarpet (3.6.1)
 | 
			
		||||
    redis (4.8.1)
 | 
			
		||||
    redis-client (0.24.0)
 | 
			
		||||
      connection_pool
 | 
			
		||||
    redlock (1.3.2)
 | 
			
		||||
      redis (>= 3.0.0, < 6.0)
 | 
			
		||||
    regexp_parser (2.10.0)
 | 
			
		||||
@@ -814,22 +815,22 @@ GEM
 | 
			
		||||
      websocket (~> 1.0)
 | 
			
		||||
    shoulda-matchers (6.5.0)
 | 
			
		||||
      activesupport (>= 5.2.0)
 | 
			
		||||
    sidekiq (6.5.12)
 | 
			
		||||
      connection_pool (>= 2.2.5, < 3)
 | 
			
		||||
      rack (~> 2.0)
 | 
			
		||||
      redis (>= 4.5.0, < 5)
 | 
			
		||||
    sidekiq (7.3.9)
 | 
			
		||||
      base64
 | 
			
		||||
      connection_pool (>= 2.3.0)
 | 
			
		||||
      logger
 | 
			
		||||
      rack (>= 2.2.4)
 | 
			
		||||
      redis-client (>= 0.22.2)
 | 
			
		||||
    sidekiq-bulk (0.2.0)
 | 
			
		||||
      sidekiq
 | 
			
		||||
    sidekiq-scheduler (5.0.6)
 | 
			
		||||
      rufus-scheduler (~> 3.2)
 | 
			
		||||
      sidekiq (>= 6, < 8)
 | 
			
		||||
      tilt (>= 1.4.0, < 3)
 | 
			
		||||
    sidekiq-unique-jobs (7.1.33)
 | 
			
		||||
      brpoplpush-redis_script (> 0.1.1, <= 2.0.0)
 | 
			
		||||
    sidekiq-unique-jobs (8.0.10)
 | 
			
		||||
      concurrent-ruby (~> 1.0, >= 1.0.5)
 | 
			
		||||
      redis (< 5.0)
 | 
			
		||||
      sidekiq (>= 5.0, < 7.0)
 | 
			
		||||
      thor (>= 0.20, < 3.0)
 | 
			
		||||
      sidekiq (>= 7.0.0, < 8.0.0)
 | 
			
		||||
      thor (>= 1.0, < 3.0)
 | 
			
		||||
    simple-navigation (4.4.0)
 | 
			
		||||
      activesupport (>= 2.3.2)
 | 
			
		||||
    simple_form (5.3.1)
 | 
			
		||||
@@ -982,6 +983,7 @@ DEPENDENCIES
 | 
			
		||||
  haml_lint
 | 
			
		||||
  hcaptcha (~> 7.1)
 | 
			
		||||
  hiredis (~> 0.6)
 | 
			
		||||
  hiredis-client
 | 
			
		||||
  htmlentities (~> 4.3)
 | 
			
		||||
  http (~> 5.2.0)
 | 
			
		||||
  http_accept_language (~> 2.1)
 | 
			
		||||
@@ -1070,10 +1072,10 @@ DEPENDENCIES
 | 
			
		||||
  scenic (~> 1.7)
 | 
			
		||||
  selenium-webdriver
 | 
			
		||||
  shoulda-matchers
 | 
			
		||||
  sidekiq (~> 6.5)
 | 
			
		||||
  sidekiq (< 8)
 | 
			
		||||
  sidekiq-bulk (~> 0.2.0)
 | 
			
		||||
  sidekiq-scheduler (~> 5.0)
 | 
			
		||||
  sidekiq-unique-jobs (~> 7.1)
 | 
			
		||||
  sidekiq-unique-jobs (> 8)
 | 
			
		||||
  simple-navigation (~> 4.4)
 | 
			
		||||
  simple_form (~> 5.2)
 | 
			
		||||
  simplecov (~> 0.22)
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ class RedisConnection
 | 
			
		||||
 | 
			
		||||
    def pool_size
 | 
			
		||||
      if Sidekiq.server?
 | 
			
		||||
        Sidekiq[:concurrency]
 | 
			
		||||
        Sidekiq.default_configuration[:concurrency]
 | 
			
		||||
      else
 | 
			
		||||
        ENV['MAX_THREADS'] || 5
 | 
			
		||||
      end
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,7 @@ class Scheduler::SelfDestructScheduler
 | 
			
		||||
  private
 | 
			
		||||
 | 
			
		||||
  def sidekiq_overwhelmed?
 | 
			
		||||
    redis_mem_info = Sidekiq.redis_info
 | 
			
		||||
    redis_mem_info = Sidekiq.default_configuration.redis_info
 | 
			
		||||
 | 
			
		||||
    Sidekiq::Stats.new.enqueued > MAX_ENQUEUED || redis_mem_info['used_memory'].to_f > redis_mem_info['total_system_memory'].to_f * MAX_REDIS_MEM_USAGE
 | 
			
		||||
  end
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,6 @@
 | 
			
		||||
default: &default
 | 
			
		||||
  adapter: postgresql
 | 
			
		||||
  pool: <%= ENV["DB_POOL"] || (if Sidekiq.server? then Sidekiq[:concurrency] else ENV['MAX_THREADS'] end) || 5 %>
 | 
			
		||||
  pool: <%= ENV["DB_POOL"] || (if Sidekiq.server? then Sidekiq.default_configuration[:concurrency] else ENV['MAX_THREADS'] end) || 5 %>
 | 
			
		||||
  timeout: 5000
 | 
			
		||||
  connect_timeout: 15
 | 
			
		||||
  encoding: unicode
 | 
			
		||||
 
 | 
			
		||||
@@ -89,6 +89,8 @@ Sidekiq.configure_server do |config|
 | 
			
		||||
    end
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  config.logger.level = Logger.const_get(ENV.fetch('RAILS_LOG_LEVEL', 'info').upcase.to_s)
 | 
			
		||||
 | 
			
		||||
  SidekiqUniqueJobs::Server.configure(config)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
@@ -98,9 +100,9 @@ Sidekiq.configure_client do |config|
 | 
			
		||||
  config.client_middleware do |chain|
 | 
			
		||||
    chain.add SidekiqUniqueJobs::Middleware::Client
 | 
			
		||||
  end
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
Sidekiq.logger.level = ::Logger.const_get(ENV.fetch('RAILS_LOG_LEVEL', 'info').upcase.to_s)
 | 
			
		||||
  config.logger.level = Logger.const_get(ENV.fetch('RAILS_LOG_LEVEL', 'info').upcase.to_s)
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
SidekiqUniqueJobs.configure do |config|
 | 
			
		||||
  config.enabled         = !Rails.env.test?
 | 
			
		||||
 
 | 
			
		||||
@@ -9,7 +9,6 @@ class Mastodon::RedisConfiguration
 | 
			
		||||
 | 
			
		||||
  def base
 | 
			
		||||
    @base ||= setup_config(prefix: nil, defaults: DEFAULTS)
 | 
			
		||||
              .merge(namespace: nil)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def sidekiq
 | 
			
		||||
@@ -23,7 +22,7 @@ class Mastodon::RedisConfiguration
 | 
			
		||||
                 expires_in: 10.minutes,
 | 
			
		||||
                 connect_timeout: 5,
 | 
			
		||||
                 pool: {
 | 
			
		||||
                   size: Sidekiq.server? ? Sidekiq[:concurrency] : Integer(ENV['MAX_THREADS'] || 5),
 | 
			
		||||
                   size: Sidekiq.server? ? Sidekiq.default_configuration[:concurrency] : Integer(ENV['MAX_THREADS'] || 5),
 | 
			
		||||
                   timeout: 5,
 | 
			
		||||
                 },
 | 
			
		||||
               })
 | 
			
		||||
 
 | 
			
		||||
@@ -156,7 +156,6 @@ RSpec.describe Mastodon::RedisConfiguration do
 | 
			
		||||
        expect(subject).to eq({
 | 
			
		||||
          url: 'redis://localhost:6379/0',
 | 
			
		||||
          driver: :hiredis,
 | 
			
		||||
          namespace: nil,
 | 
			
		||||
        })
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
@@ -172,7 +171,6 @@ RSpec.describe Mastodon::RedisConfiguration do
 | 
			
		||||
        expect(subject).to eq({
 | 
			
		||||
          url: 'redis::/user@example.com/2',
 | 
			
		||||
          driver: :hiredis,
 | 
			
		||||
          namespace: nil,
 | 
			
		||||
        })
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
@@ -188,7 +186,6 @@ RSpec.describe Mastodon::RedisConfiguration do
 | 
			
		||||
        expect(subject).to eq({
 | 
			
		||||
          url: 'redis://:testpass@redis.example.com:3333/3',
 | 
			
		||||
          driver: :hiredis,
 | 
			
		||||
          namespace: nil,
 | 
			
		||||
        })
 | 
			
		||||
      end
 | 
			
		||||
    end
 | 
			
		||||
 
 | 
			
		||||
@@ -53,7 +53,7 @@ WebMock.disable_net_connect!(
 | 
			
		||||
  allow_localhost: true,
 | 
			
		||||
  allow: Chewy.settings[:host]
 | 
			
		||||
)
 | 
			
		||||
Sidekiq.logger = nil
 | 
			
		||||
Sidekiq.default_configuration.logger = nil
 | 
			
		||||
 | 
			
		||||
DatabaseCleaner.strategy = [:deletion]
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user