Class: Autoscaler::Sidekiq::Activity

Inherits:
Object
  • Object
show all
Defined in:
lib/autoscaler/sidekiq/activity.rb

Overview

Tracks activity timeouts using Sidekiq’s redis connection

Instance Method Summary collapse

Constructor Details

#initialize(timeout) ⇒ Activity

Returns a new instance of Activity.

Parameters:

  • timeout (Numeric)

    number of seconds to wait before shutdown



8
9
10
# File 'lib/autoscaler/sidekiq/activity.rb', line 8

def initialize(timeout)
  @timeout = timeout
end

Instance Method Details

#idle!(queue) ⇒ Object

Record that a queue is idle and timed out - mostly for test support

Parameters:

  • queue (String)


20
21
22
# File 'lib/autoscaler/sidekiq/activity.rb', line 20

def idle!(queue)
  active_at queue, Time.now - timeout*2
end

#idle?(queues) ⇒ boolean

Have the watched queues timed out?

Parameters:

  • queues (Array[String])

    list of queues to monitor to determine if there is work left

Returns:

  • (boolean)


27
28
29
# File 'lib/autoscaler/sidekiq/activity.rb', line 27

def idle?(queues)
  idle_time(queues) > timeout
end

#working!(queue) ⇒ Object

Record that a queue has activity

Parameters:

  • queue (String)


14
15
16
# File 'lib/autoscaler/sidekiq/activity.rb', line 14

def working!(queue)
  active_at queue, Time.now
end