From a1ef2a28cca6591b7ca866cf12c446102cc6494b Mon Sep 17 00:00:00 2001 From: Mike Perham Date: Sun, 18 Mar 2012 12:29:09 -0700 Subject: [PATCH] Add retries data to Web UI --- lib/sidekiq/web.rb | 11 +++++++++++ web/views/index.slim | 20 ++++++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/lib/sidekiq/web.rb b/lib/sidekiq/web.rb index 0e031e37..58fb71bd 100644 --- a/lib/sidekiq/web.rb +++ b/lib/sidekiq/web.rb @@ -56,6 +56,17 @@ module Sidekiq Sidekiq.redis { |conn| conn.get('stat:failed') } || 0 end + def retry_count + Sidekiq.redis { |conn| conn.zcard('retry') } + end + + def retries + Sidekiq.redis do |conn| + results = conn.zrange('retry', 0, 25, :withscores => true) + results.each_slice(2).to_a.map { |x| [MultiJson.decode(x[0]), Float(x[1])] } + end + end + def queues Sidekiq.redis do |conn| conn.smembers('queues').map do |q| diff --git a/web/views/index.slim b/web/views/index.slim index 9cbbc89f..bf047e15 100644 --- a/web/views/index.slim +++ b/web/views/index.slim @@ -4,6 +4,7 @@ p Processed: #{processed} p Failed: #{failed} p Workers: #{workers.size} + p Retries Pending: #{retry_count} .tabbable ul.nav.nav-tabs @@ -11,6 +12,8 @@ a href="#workers" data-toggle="tab" Workers li a href="#queues" data-toggle="tab" Queues + li + a href="#retries" data-toggle="tab" Retries .tab-content #workers.tab-pane.active table class="table table-striped table-bordered" @@ -40,3 +43,20 @@ a href="queues/#{queue}" #{queue} td= size + #retries.tab-pane + table class="table table-striped table-bordered" + tr + th Next Retry + th Retry Count + th Queue + th Worker + th Args + - retries.each do |(msg, score)| + tr + td= Time.at(score) + td= msg['retry_count'] + td + a href="queues/#{msg['queue']}" #{msg['queue']} + td= msg['class'] + td= msg['args'].inspect[0..100] +