Class: ActiveRecord::ConnectionAdapters::ConnectionPool::Reaper
- Inherits:
-
Object
- Object
- ActiveRecord::ConnectionAdapters::ConnectionPool::Reaper
- Defined in:
- lib/active_record/connection_adapters/abstract/connection_pool.rb
Overview
Every frequency
seconds, the reaper will call reap
on pool
. A reaper instantiated with a nil frequency will never reap the connection pool.
Configure the frequency by setting “reaping_frequency” in your database yaml file.
Instance Attribute Summary collapse
-
#frequency ⇒ Object
readonly
Returns the value of attribute frequency.
-
#pool ⇒ Object
readonly
Returns the value of attribute pool.
Instance Method Summary collapse
-
#initialize(pool, frequency) ⇒ Reaper
constructor
A new instance of Reaper.
- #run ⇒ Object
Constructor Details
#initialize(pool, frequency) ⇒ Reaper
Returns a new instance of Reaper.
206 207 208 209 |
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 206 def initialize(pool, frequency) @pool = pool @frequency = frequency end |
Instance Attribute Details
#frequency ⇒ Object (readonly)
Returns the value of attribute frequency.
204 205 206 |
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 204 def frequency @frequency end |
#pool ⇒ Object (readonly)
Returns the value of attribute pool.
204 205 206 |
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 204 def pool @pool end |
Instance Method Details
#run ⇒ Object
211 212 213 214 215 216 217 218 219 |
# File 'lib/active_record/connection_adapters/abstract/connection_pool.rb', line 211 def run return unless frequency Thread.new(frequency, pool) { |t, p| while true sleep t p.reap end } end |