Module: Legion::Cache::Pool
- Extended by:
- Pool, Logging::Helper
- Defined in:
- lib/legion/cache/pool.rb
Instance Method Summary collapse
- #available ⇒ Object
- #close ⇒ Object
- #connected? ⇒ Boolean
- #pool_size ⇒ Object
- #restart(**opts) ⇒ Object
- #size ⇒ Object
- #timeout ⇒ Object
Instance Method Details
#available ⇒ Object
31 32 33 |
# File 'lib/legion/cache/pool.rb', line 31 def available client.available end |
#close ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/legion/cache/pool.rb', line 35 def close return unless @client @client.shutdown(&:close) @client = nil @connected = false log.info "#{pool_log_name} pool closed" end |
#connected? ⇒ Boolean
12 13 14 15 16 17 |
# File 'lib/legion/cache/pool.rb', line 12 def connected? return false unless defined?(@connected) return @connected.true? if @connected.respond_to?(:true?) @connected == true end |
#pool_size ⇒ Object
27 28 29 |
# File 'lib/legion/cache/pool.rb', line 27 def pool_size @pool_size ||= Legion::Settings[:cache][:pool_size] || 10 end |
#restart(**opts) ⇒ Object
44 45 46 47 48 49 50 51 52 53 |
# File 'lib/legion/cache/pool.rb', line 44 def restart(**opts) close @client = nil client_hash = opts client_hash[:pool_size] = opts[:pool_size] if opts.key? :pool_size client_hash[:timeout] = opts[:timeout] if opts.key? :timeout client(**client_hash) @connected = true log.info "#{pool_log_name} pool restarted" end |
#size ⇒ Object
19 20 21 |
# File 'lib/legion/cache/pool.rb', line 19 def size client.size end |
#timeout ⇒ Object
23 24 25 |
# File 'lib/legion/cache/pool.rb', line 23 def timeout @timeout ||= Legion::Settings[:cache][:timeout] || 5 end |