Class: Mongoid::Sessions::SessionPool::Reaper
- Inherits:
-
Object
- Object
- Mongoid::Sessions::SessionPool::Reaper
- Defined in:
- lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb
Instance Attribute Summary collapse
-
#frequency ⇒ Object
readonly
Returns the value of attribute frequency.
-
#pool ⇒ Object
readonly
Returns the value of attribute pool.
-
#reaper ⇒ Object
readonly
Returns the value of attribute reaper.
Instance Method Summary collapse
- #alive? ⇒ Boolean
-
#initialize(frequency, pool) ⇒ Reaper
constructor
A new instance of Reaper.
- #run ⇒ Object
Constructor Details
#initialize(frequency, pool) ⇒ Reaper
Returns a new instance of Reaper.
238 239 240 241 |
# File 'lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb', line 238 def initialize(frequency, pool) @frequency = frequency @pool = pool end |
Instance Attribute Details
#frequency ⇒ Object (readonly)
Returns the value of attribute frequency.
235 236 237 |
# File 'lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb', line 235 def frequency @frequency end |
#pool ⇒ Object (readonly)
Returns the value of attribute pool.
234 235 236 |
# File 'lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb', line 234 def pool @pool end |
#reaper ⇒ Object (readonly)
Returns the value of attribute reaper.
236 237 238 |
# File 'lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb', line 236 def reaper @reaper end |
Instance Method Details
#alive? ⇒ Boolean
243 244 245 246 247 |
# File 'lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb', line 243 def alive? return true unless frequency # under rbx 2.2.4 this now works, also works correctly under mri at latest patch levels reaper.alive? end |
#run ⇒ Object
249 250 251 252 253 254 255 256 257 |
# File 'lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb', line 249 def run return unless frequency @reaper = Thread.new(frequency, pool) do |t, p| while true sleep t p.reap end end end |