class method
self.new
Ruby on Rails 4.1.16
Since v2.2.3Signature
self.new(spec)
Creates a new ConnectionPool object. spec is a ConnectionSpecification object which describes database connection information (e.g. adapter, host name, username, password, etc), as well as the maximum size for this ConnectionPool.
The default ConnectionPool maximum size is 5.
Parameters
-
specreq
Source
# File activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb, line 234
def initialize(spec)
super()
@spec = spec
@checkout_timeout = (spec.config[:checkout_timeout] && spec.config[:checkout_timeout].to_f) || 5
@dead_connection_timeout = (spec.config[:dead_connection_timeout] && spec.config[:dead_connection_timeout].to_f) || 5
@reaper = Reaper.new(self, (spec.config[:reaping_frequency] && spec.config[:reaping_frequency].to_f))
@reaper.run
# default max pool size to 5
@size = (spec.config[:pool] && spec.config[:pool].to_i) || 5
# The cache of reserved connections mapped to threads
@reserved_connections = ThreadSafe::Cache.new(:initial_capacity => @size)
@connections = []
@automatic_reconnect = true
@available = Queue.new self
end
Defined in activerecord/lib/active_record/connection_adapters/abstract/connection_pool.rb line 234
· View on GitHub
· Improve this page
· Find usages on GitHub