summaryrefslogtreecommitdiffstats
path: root/app
diff options
context:
space:
mode:
authorEugen Rochko <eugen@zeonfederated.com>2022-04-29 22:43:07 +0200
committerGitHub <noreply@github.com>2022-04-29 22:43:07 +0200
commit7b0fe4aef97c6a5f73a03146b669a415f396799c (patch)
tree328a1117bf021f1ffc0e126e9563f71b31862f1e /app
parent6476f7e4da4da7c353d497aae5a86fc3909ce532 (diff)
Fix opening and closing Redis connections instead of using a pool (#18171)
* Fix opening and closing Redis connections instead of using a pool * Fix Redis connections not being returned to the pool in CLI commands
Diffstat (limited to 'app')
-rw-r--r--app/lib/redis_configuration.rb7
-rw-r--r--app/models/concerns/redisable.rb2
2 files changed, 7 insertions, 2 deletions
diff --git a/app/lib/redis_configuration.rb b/app/lib/redis_configuration.rb
index fc8cf2f80f8..e14d6c8b670 100644
--- a/app/lib/redis_configuration.rb
+++ b/app/lib/redis_configuration.rb
@@ -2,12 +2,17 @@
class RedisConfiguration
class << self
+ def establish_pool(new_pool_size)
+ @pool&.shutdown(&:close)
+ @pool = ConnectionPool.new(size: new_pool_size) { new.connection }
+ end
+
def with
pool.with { |redis| yield redis }
end
def pool
- @pool ||= ConnectionPool.new(size: pool_size) { new.connection }
+ @pool ||= establish_pool(pool_size)
end
def pool_size
diff --git a/app/models/concerns/redisable.rb b/app/models/concerns/redisable.rb
index cce8efb862a..8d76b6b82d6 100644
--- a/app/models/concerns/redisable.rb
+++ b/app/models/concerns/redisable.rb
@@ -6,6 +6,6 @@ module Redisable
private
def redis
- Thread.current[:redis] ||= RedisConfiguration.new.connection
+ Thread.current[:redis] ||= RedisConfiguration.pool.checkout
end
end