Module: Sidekiq::QueueStats::WebExtension

Defined in:
lib/sidekiq/queue_stats/web_extension.rb

Class Method Summary collapse

Class Method Details

.registered(app) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/sidekiq/queue_stats/web_extension.rb', line 5

def self.registered(app)
  view_path = File.join(File.expand_path("..", __FILE__), "views")

  app.get "/queue_stats" do
    @queues_list = Sidekiq::Queue.all.map(&:name)
    @workers_count = {}

    if params[:selected_queue]
      @selected_queue = params[:selected_queue] ? Sidekiq::Queue.new(params[:selected_queue]) : Sidekiq::Queue.new
      @workers_count[@selected_queue.name] = Hash.new(0)
      @selected_queue.each do |job|
        @workers_count[@selected_queue.name][job.klass] += 1
      end
    else
      queues_list = Sidekiq::Queue.all
      queues_list.each do |q|
        @workers_count[q.name] = Hash.new(0)
        q.each do |job|
          @workers_count[q.name][job.klass] += 1
        end
      end
    end

    render(:erb, File.read(File.join(view_path, "queue_stats.erb")))
  end
end