Class: Autoscaler::Sidekiq::Activity
- Inherits:
-
Object
- Object
- Autoscaler::Sidekiq::Activity
- Defined in:
- lib/autoscaler/sidekiq/activity.rb
Overview
Tracks activity timeouts using Sidekiq’s redis connection
Instance Method Summary collapse
-
#idle!(queue) ⇒ Object
Record that a queue is idle and timed out - mostly for test support.
-
#idle?(queues) ⇒ boolean
Have the watched queues timed out?.
-
#initialize(timeout, redis = ::Sidekiq.method(:redis)) ⇒ Activity
constructor
A new instance of Activity.
-
#working!(queue) ⇒ Object
Record that a queue has activity.
Constructor Details
#initialize(timeout, redis = ::Sidekiq.method(:redis)) ⇒ Activity
Returns a new instance of Activity.
8 9 10 11 |
# File 'lib/autoscaler/sidekiq/activity.rb', line 8 def initialize(timeout, redis = ::Sidekiq.method(:redis)) @timeout = timeout @redis = redis end |
Instance Method Details
#idle!(queue) ⇒ Object
Record that a queue is idle and timed out - mostly for test support
21 22 23 |
# File 'lib/autoscaler/sidekiq/activity.rb', line 21 def idle!(queue) active_at queue, Time.now - timeout*2 end |
#idle?(queues) ⇒ boolean
Have the watched queues timed out?
28 29 30 |
# File 'lib/autoscaler/sidekiq/activity.rb', line 28 def idle?(queues) idle_time(queues) > timeout end |
#working!(queue) ⇒ Object
Record that a queue has activity
15 16 17 |
# File 'lib/autoscaler/sidekiq/activity.rb', line 15 def working!(queue) active_at queue, Time.now end |