class DB::Pool(T)
- DB::Pool(T)
 - Reference
 - Object
 
Defined in:
db/pool.crClass Method Summary
Instance Method Summary
- #checkout : T
 - 
        #checkout_some(candidates : Enumerable(WeakRef(T))) : ::Tuple(T, Bool)
        
          
 - 
        #close : Nil
        
          
close all resources in the pool
 - #release(resource : T) : Nil
 - 
        #retry(&block)
        
          
:nodoc: Will retry the block if a
ConnectionLostexception is thrown. 
Class Method Detail
        
        def self.new(initial_pool_size = 1, max_pool_size = 0, max_idle_pool_size = 1, checkout_timeout = 5.0, retry_attempts = 1, retry_delay = 0.2, &factory :  -> T)
        #
      
      
      Instance Method Detail
        
        def checkout_some(candidates : Enumerable(WeakRef(T))) : ::Tuple(T, Bool)
        #
      
      
        selected, is_candidate = pool.checkout_some(candidates)
selected be a resource from the candidates list and is_candidate == true
or selected will be a new resource adn is_candidate == false
        
        def retry(&block)
        #
      
      
        :nodoc:
Will retry the block if a ConnectionLost exception is thrown.
It will try to reuse all of the available connection right away,
but if a new connection is needed there is a retry_delay seconds delay.