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
This commit is contained in:
		
					parent
					
						
							
								6476f7e4da
							
						
					
				
			
			
				commit
				
					
						7b0fe4aef9
					
				
			
		
					 8 changed files with 28 additions and 12 deletions
				
			
		|  | @ -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 | ||||
|  |  | |||
|  | @ -6,6 +6,6 @@ module Redisable | |||
|   private | ||||
| 
 | ||||
|   def redis | ||||
|     Thread.current[:redis] ||= RedisConfiguration.new.connection | ||||
|     Thread.current[:redis] ||= RedisConfiguration.pool.checkout | ||||
|   end | ||||
| end | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue