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']
end
def enqueued_at
Time.at(@item['enqueued_at'])
end
def queue
@queue
end

View file

@ -62,7 +62,7 @@ module Sidekiq
normed = normalize_item(items)
payloads = items['args'].map do |args|
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
pushed = false
@ -130,6 +130,7 @@ module Sidekiq
end
normalized_item['jid'] = SecureRandom.hex(12)
normalized_item['enqueued_at'] = Time.now.to_f
normalized_item
end

View file

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