1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00

Transition more of the web to use the API, add enqueued_at to the Job view

This commit is contained in:
Mike Perham 2013-06-01 14:54:29 -07:00
parent d5f8b45957
commit f900c2a098
4 changed files with 23 additions and 14 deletions

View file

@ -93,6 +93,10 @@ module Sidekiq
class Queue class Queue
include Enumerable include Enumerable
def self.all
Sidekiq.redis {|c| c.smembers('queues') }.map {|q| Sidekiq::Queue.new(q) }
end
attr_reader :name attr_reader :name
def initialize(name="default") def initialize(name="default")
@ -171,7 +175,7 @@ module Sidekiq
end end
def enqueued_at def enqueued_at
Time.at(@item['enqueued_at']) Time.at(@item['enqueued_at'] || 0)
end end
def queue def queue

View file

@ -41,9 +41,7 @@ module Sidekiq
def reset_worker_list def reset_worker_list
Sidekiq.redis do |conn| Sidekiq.redis do |conn|
workers = conn.smembers('workers') workers = conn.smembers('workers')
workers.each do |name| conn.srem('workers', *workers)
conn.srem('workers', name)
end
end end
end end
@ -104,13 +102,16 @@ module Sidekiq
end end
def display_args(args, count=100) def display_args(args, count=100)
args.map { |arg| a = arg.inspect; a.size > count ? "#{a[0..count]}..." : a }.join(", ") args.map do |arg|
a = arg.inspect
a.size > count ? "#{a[0..count]}..." : a
end.join(", ")
end end
RETRY_JOB_KEYS = Set.new(%w( RETRY_JOB_KEYS = Set.new(%w(
queue class args retry_count retried_at failed_at queue class args retry_count retried_at failed_at
jid error_message error_class backtrace jid error_message error_class backtrace
error_backtrace enqueued_at error_backtrace enqueued_at retry
)) ))
def retry_extra_items(retry_job) def retry_extra_items(retry_job)
@ -158,7 +159,7 @@ module Sidekiq
end end
get "/queues" do get "/queues" do
@queues = Sidekiq::Stats.new.queues @queues = Sidekiq::Queue.all
slim :queues slim :queues
end end

View file

@ -5,11 +5,11 @@ table class="queues table table-hover table-bordered table-striped table-white"
th = t('Queue') th = t('Queue')
th = t('Size') th = t('Size')
th = t('Actions') th = t('Actions')
- @queues.each do |queue, size| - @queues.each do |queue|
tr tr
td td
a href="#{root_path}queues/#{queue}" #{queue} a href="#{root_path}queues/#{queue.name}" #{queue.name}
td= number_with_delimiter(size) td= number_with_delimiter(queue.size)
td width="20%" td width="20%"
form action="#{root_path}queues/#{queue}" method="post" form action="#{root_path}queues/#{queue.name}" method="post"
input.btn.btn-danger.btn-small type="submit" name="delete" value="#{t('Delete')}" data-confirm="#{t('AreYouSureDeleteQueue', :queue => queue)}" input.btn.btn-danger.btn-small type="submit" name="delete" value="#{t('Delete')}" data-confirm="#{t('AreYouSureDeleteQueue', :queue => queue.name)}"

View file

@ -19,11 +19,15 @@ table class="retry table table-bordered table-striped"
th JID th JID
td td
code= @retry.jid code= @retry.jid
tr
th = t('Enqueued')
td== relative_time(@retry.enqueued_at)
- unless retry_extra_items(@retry).empty? - unless retry_extra_items(@retry).empty?
tr tr
th = t('Extras') th = t('Extras')
td td
code= display_args(retry_extra_items(@retry), 1000) code
= retry_extra_items(@retry).inspect
- if @retry['retry_count'] > 0 - if @retry['retry_count'] > 0
tr tr
th = t('RetryCount') th = t('RetryCount')
@ -37,7 +41,7 @@ table class="retry table table-bordered table-striped"
td== relative_time(@retry['failed_at'].is_a?(Numeric) ? Time.at(@retry['failed_at']) : Time.parse(@retry['failed_at'])) td== relative_time(@retry['failed_at'].is_a?(Numeric) ? Time.at(@retry['failed_at']) : Time.parse(@retry['failed_at']))
tr tr
th = t('NextRetry') th = t('NextRetry')
td== relative_time(Time.at(@retry.score)) td== relative_time(@retry.at)
h3 = t('Error') h3 = t('Error')
table class="error table table-bordered table-striped" table class="error table table-bordered table-striped"