Fix single Redis connection being used across all threads (#18135)

* Fix single Redis connection being used across all Sidekiq threads

* Fix tests
This commit is contained in:
Eugen Rochko
2022-04-28 17:47:34 +02:00
committed by GitHub
parent 9bf04db23a
commit 3917353645
44 changed files with 243 additions and 124 deletions

View File

@ -35,6 +35,7 @@ require_relative '../lib/paperclip/response_with_limit_adapter'
require_relative '../lib/terrapin/multi_pipe_extensions'
require_relative '../lib/mastodon/snowflake'
require_relative '../lib/mastodon/version'
require_relative '../lib/mastodon/rack_middleware'
require_relative '../lib/devise/two_factor_ldap_authenticatable'
require_relative '../lib/devise/two_factor_pam_authenticatable'
require_relative '../lib/chewy/strategy/custom_sidekiq'
@ -164,6 +165,7 @@ module Mastodon
config.middleware.use Rack::Attack
config.middleware.use Rack::Deflater
config.middleware.use Mastodon::RackMiddleware
config.to_prepare do
Doorkeeper::AuthorizationsController.layout 'modal'

View File

@ -1,14 +0,0 @@
# frozen_string_literal: true
redis_connection = Redis.new(
url: ENV['REDIS_URL'],
driver: :hiredis
)
namespace = ENV.fetch('REDIS_NAMESPACE') { nil }
if namespace
Redis.current = Redis::Namespace.new(namespace, redis: redis_connection)
else
Redis.current = redis_connection
end

View File

@ -1,12 +1,12 @@
# frozen_string_literal: true
require_relative '../../lib/sidekiq_error_handler'
require_relative '../../lib/mastodon/sidekiq_middleware'
Sidekiq.configure_server do |config|
config.redis = REDIS_SIDEKIQ_PARAMS
config.server_middleware do |chain|
chain.add SidekiqErrorHandler
chain.add Mastodon::SidekiqMiddleware
end
config.server_middleware do |chain|