Class: SidekiqAutoscale::SidekiqInterface
- Inherits:
-
Object
- Object
- SidekiqAutoscale::SidekiqInterface
- Defined in:
- lib/sidekiq_autoscale/sidekiq_interface.rb
Instance Method Summary collapse
- #available_threads ⇒ Object
- #busy_threads ⇒ Object
- #latency ⇒ Object
- #queue_names ⇒ Object
- #total_queue_size ⇒ Object
- #total_threads ⇒ Object
- #total_workers ⇒ Object
- #youngest_worker ⇒ Object
Instance Method Details
#available_threads ⇒ Object
31 32 33 |
# File 'lib/sidekiq_autoscale/sidekiq_interface.rb', line 31 def available_threads total_threads - busy_threads end |
#busy_threads ⇒ Object
15 16 17 |
# File 'lib/sidekiq_autoscale/sidekiq_interface.rb', line 15 def busy_threads ::Sidekiq::Workers.new.map {|_, thread, _| thread }.uniq.size end |
#latency ⇒ Object
19 20 21 |
# File 'lib/sidekiq_autoscale/sidekiq_interface.rb', line 19 def latency queue_names.map {|q| ::Sidekiq::Queue.new(q).latency }.max end |
#queue_names ⇒ Object
11 12 13 |
# File 'lib/sidekiq_autoscale/sidekiq_interface.rb', line 11 def queue_names ::Sidekiq::Queue.all.map(&:name) end |
#total_queue_size ⇒ Object
7 8 9 |
# File 'lib/sidekiq_autoscale/sidekiq_interface.rb', line 7 def total_queue_size queue_names.map {|q| ::Sidekiq::Queue.new(q).size }.reduce(0, &:+) end |
#total_threads ⇒ Object
27 28 29 |
# File 'lib/sidekiq_autoscale/sidekiq_interface.rb', line 27 def total_threads process_set.map {|w| w["concurrency"] }.reduce(0, &:+) end |
#total_workers ⇒ Object
23 24 25 |
# File 'lib/sidekiq_autoscale/sidekiq_interface.rb', line 23 def total_workers process_set.size end |
#youngest_worker ⇒ Object
35 36 37 |
# File 'lib/sidekiq_autoscale/sidekiq_interface.rb', line 35 def youngest_worker process_set.map {|w| w["started_at"] }.max end |