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.
240 241 242 243 |
# File 'lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb', line 240 def initialize(frequency, pool) @frequency = frequency @pool = pool end |
Instance Attribute Details
#frequency ⇒ Object (readonly)
Returns the value of attribute frequency.
237 238 239 |
# File 'lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb', line 237 def frequency @frequency end |
#pool ⇒ Object (readonly)
Returns the value of attribute pool.
236 237 238 |
# File 'lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb', line 236 def pool @pool end |
#reaper ⇒ Object (readonly)
Returns the value of attribute reaper.
238 239 240 |
# File 'lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb', line 238 def reaper @reaper end |
Instance Method Details
#alive? ⇒ Boolean
245 246 247 248 249 |
# File 'lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb', line 245 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
251 252 253 254 255 256 257 258 259 |
# File 'lib/mongoid_connection_pool/mongoid/sessions/session_pool.rb', line 251 def run return unless frequency @reaper = Thread.new(frequency, pool) do |t, p| while true sleep t p.reap end end end |