From bbff51ac2a88a56041036645effc3519e76accdf Mon Sep 17 00:00:00 2001 From: Brandon Hilkert Date: Mon, 18 Feb 2013 10:15:51 -0500 Subject: [PATCH] Add worker info to summary update. --- lib/sidekiq/web.rb | 1 + test/test_web.rb | 23 +++++++++++++++++++---- web/assets/javascripts/dashboard.js | 1 + web/views/_summary.slim | 2 +- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/lib/sidekiq/web.rb b/lib/sidekiq/web.rb index 627434d1..dee2718a 100644 --- a/lib/sidekiq/web.rb +++ b/lib/sidekiq/web.rb @@ -220,6 +220,7 @@ module Sidekiq sidekiq: { processed: sidekiq_stats.processed, failed: sidekiq_stats.failed, + busy: workers.size, enqueued: sidekiq_stats.enqueued, scheduled: sidekiq_stats.scheduled_size, retries: sidekiq_stats.retry_size, diff --git a/test/test_web.rb b/test/test_web.rb index 562a9845..7e7cd65a 100644 --- a/test/test_web.rb +++ b/test/test_web.rb @@ -207,6 +207,8 @@ class TestWeb < MiniTest::Unit::TestCase end 2.times { add_retry } 3.times { add_scheduled } + 4.times { add_worker } + get '/dashboard/stats' @response = Sidekiq.load_json(last_response.body) end @@ -221,19 +223,23 @@ class TestWeb < MiniTest::Unit::TestCase end it 'reports processed' do - assert_equal @response["sidekiq"]["processed"], 5 + assert_equal 5, @response["sidekiq"]["processed"] end it 'reports failed' do - assert_equal @response["sidekiq"]["failed"], 2 + assert_equal 2, @response["sidekiq"]["failed"] + end + + it 'reports busy' do + assert_equal 4, @response["sidekiq"]["busy"] end it 'reports retries' do - assert_equal @response["sidekiq"]["retries"], 2 + assert_equal 2, @response["sidekiq"]["retries"] end it 'reports scheduled' do - assert_equal @response["sidekiq"]["scheduled"], 3 + assert_equal 3, @response["sidekiq"]["scheduled"] end end @@ -271,5 +277,14 @@ class TestWeb < MiniTest::Unit::TestCase end [msg, score] end + + def add_worker + process_id = rand(1000) + msg = "{\"queue\":\"default\",\"payload\":{\"retry\":true,\"queue\":\"default\",\"timeout\":20,\"backtrace\":5,\"class\":\"HardWorker\",\"args\":[\"bob\",10,5],\"jid\":\"2b5ad2b016f5e063a1c62872\"},\"run_at\":1361208995}" + Sidekiq.redis do |conn| + conn.sadd("workers", "mercury.home:#{process_id}-70215157189060:started") + conn.set("worker:mercury.home:#{process_id}-70215157189060:started", msg) + end + end end end diff --git a/web/assets/javascripts/dashboard.js b/web/assets/javascripts/dashboard.js index 58e53fb9..f1d2a44a 100644 --- a/web/assets/javascripts/dashboard.js +++ b/web/assets/javascripts/dashboard.js @@ -114,6 +114,7 @@ var createSeries = function(obj) { var updateStatsSummary = function(data) { $('ul.summary li.processed span.count').html(data.processed.numberWithDelimiter()) $('ul.summary li.failed span.count').html(data.failed.numberWithDelimiter()) + $('ul.summary li.busy span.count').html(data.busy.numberWithDelimiter()) $('ul.summary li.scheduled span.count').html(data.scheduled.numberWithDelimiter()) $('ul.summary li.retries span.count').html(data.retries.numberWithDelimiter()) $('ul.summary li.enqueued span.count').html(data.enqueued.numberWithDelimiter()) diff --git a/web/views/_summary.slim b/web/views/_summary.slim index d25e3a87..7cee24f6 100755 --- a/web/views/_summary.slim +++ b/web/views/_summary.slim @@ -5,7 +5,7 @@ ul.unstyled.summary li.failed span.count #{number_with_delimiter(stats.failed)} span.desc Failed - li + li.busy span.count #{number_with_delimiter(workers.size)} span.desc Busy li.scheduled