Update sidekiq to version 7 (#34745)

This commit is contained in:
Matt Jankowski 2025-05-26 11:32:41 -04:00 committed by GitHub
parent ba5320671c
commit 37c82a3003
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 28 additions and 27 deletions

View file

@ -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'

View file

@ -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)

View file

@ -15,7 +15,7 @@ class RedisConnection
def pool_size
if Sidekiq.server?
Sidekiq[:concurrency]
Sidekiq.default_configuration[:concurrency]
else
ENV['MAX_THREADS'] || 5
end

View file

@ -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

View file

@ -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

View file

@ -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?

View file

@ -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,
},
})

View file

@ -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

View file

@ -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]