From f2753df8df424b5b9137cad0da2e3f6da7ad2dda Mon Sep 17 00:00:00 2001 From: Stephen Paul Weber Date: Tue, 1 Nov 2022 18:49:26 -0500 Subject: [PATCH] chore: Use multiple connections in Redis connection pool (#5574) - The initializer set up a connection pool, but both pools created namespace wrappers around a single global connection. Splitting them up. --- config/initializers/01_redis.rb | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/config/initializers/01_redis.rb b/config/initializers/01_redis.rb index caa01e9c1..b35757853 100644 --- a/config/initializers/01_redis.rb +++ b/config/initializers/01_redis.rb @@ -1,10 +1,14 @@ -redis = Rails.env.test? ? MockRedis.new : Redis.new(Redis::Config.app) - # Alfred # Add here as you use it for more features # Used for Round Robin, Conversation Emails & Online Presence -$alfred = ConnectionPool::Wrapper.new(size: 5, timeout: 3) { Redis::Namespace.new('alfred', redis: redis, warning: true) } +$alfred = ConnectionPool::Wrapper.new(size: 5, timeout: 3) do + redis = Rails.env.test? ? MockRedis.new : Redis.new(Redis::Config.app) + Redis::Namespace.new('alfred', redis: redis, warning: true) +end # Velma : Determined protector # used in rack attack -$velma = ConnectionPool::Wrapper.new(size: 5, timeout: 3) { Redis::Namespace.new('velma', redis: redis, warning: true) } +$velma = ConnectionPool::Wrapper.new(size: 5, timeout: 3) do + redis = Rails.env.test? ? MockRedis.new : Redis.new(Redis::Config.app) + Redis::Namespace.new('velma', redis: redis, warning: true) +end