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

Add recording of job queued at times

This commit is contained in:
Mario Visic 2013-05-23 21:31:41 +10:00
parent f024c6079c
commit a264d2acd6
3 changed files with 17 additions and 9 deletions

View file

@ -186,6 +186,10 @@ module Sidekiq
@item['jid'] @item['jid']
end end
def enqueued_at
Time.at(@item['enqueued_at'])
end
def queue def queue
@queue @queue
end end

View file

@ -62,7 +62,7 @@ module Sidekiq
normed = normalize_item(items) normed = normalize_item(items)
payloads = items['args'].map do |args| payloads = items['args'].map do |args|
raise ArgumentError, "Bulk arguments must be an Array of Arrays: [[1], [2]]" if !args.is_a?(Array) raise ArgumentError, "Bulk arguments must be an Array of Arrays: [[1], [2]]" if !args.is_a?(Array)
process_single(items['class'], normed.merge('args' => args, 'jid' => SecureRandom.hex(12))) process_single(items['class'], normed.merge('args' => args, 'jid' => SecureRandom.hex(12), 'enqueued_at' => Time.now.to_f))
end.compact end.compact
pushed = false pushed = false
@ -130,6 +130,7 @@ module Sidekiq
end end
normalized_item['jid'] = SecureRandom.hex(12) normalized_item['jid'] = SecureRandom.hex(12)
normalized_item['enqueued_at'] = Time.now.to_f
normalized_item normalized_item
end end

View file

@ -171,6 +171,7 @@ class TestApi < Minitest::Test
end end
it 'can enumerate jobs' do it 'can enumerate jobs' do
Time.stub(:now, Time.new(2012, 12, 26)) do
q = Sidekiq::Queue.new q = Sidekiq::Queue.new
ApiWorker.perform_async(1, 'mike') ApiWorker.perform_async(1, 'mike')
assert_equal ['TestApi::ApiWorker'], q.map(&:klass) assert_equal ['TestApi::ApiWorker'], q.map(&:klass)
@ -178,10 +179,12 @@ class TestApi < Minitest::Test
job = q.first job = q.first
assert_equal 24, job.jid.size assert_equal 24, job.jid.size
assert_equal [1, 'mike'], job.args assert_equal [1, 'mike'], job.args
assert_equal Time.new(2012, 12, 26), job.enqueued_at
q = Sidekiq::Queue.new('other') q = Sidekiq::Queue.new('other')
assert_equal 0, q.size assert_equal 0, q.size
end end
end
it 'can delete jobs' do it 'can delete jobs' do
q = Sidekiq::Queue.new q = Sidekiq::Queue.new