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

Add Sidekiq::Queue#find_job

Use detect, not find, to avoid clashes with AR's API [#859]
This commit is contained in:
Mike Perham 2013-04-17 11:11:29 -07:00
parent 4ca4a71231
commit 69ede19027
2 changed files with 19 additions and 6 deletions

View file

@ -137,6 +137,10 @@ module Sidekiq
end
end
def find_job(jid)
self.detect { |j| j.jid == jid }
end
def clear
Sidekiq.redis do |conn|
conn.multi do
@ -280,7 +284,7 @@ module Sidekiq
end
def find_job(jid)
self.find{ |j| j.jid == jid }
self.detect { |j| j.jid == jid }
end
def delete(score, jid = nil)

View file

@ -179,11 +179,20 @@ class TestApi < MiniTest::Unit::TestCase
assert_equal 0, q.size
end
it 'can find job by id' do
q = Sidekiq::Queue.new
it 'can find job by id in sorted sets' do
q = Sidekiq::Queue.new
job_id = ApiWorker.perform_in(100, 1, 'jason')
job = Sidekiq::ScheduledSet.new.find_job(job_id)
assert job
job = Sidekiq::ScheduledSet.new.find_job(job_id)
refute_nil job
assert_equal job_id, job.jid
end
it 'can find job by id in queues' do
q = Sidekiq::Queue.new
job_id = ApiWorker.perform_async(1, 'jason')
job = q.find_job(job_id)
refute_nil job
assert_equal job_id, job.jid
end
it 'can clear a queue' do
@ -285,7 +294,7 @@ class TestApi < MiniTest::Unit::TestCase
s = '12345'
data = Sidekiq.dump_json({ 'payload' => {}, 'queue' => 'default', 'run_at' => Time.now.to_i })
Sidekiq.redis do |c|
Sidekiq.redis do |c|
c.multi do
c.sadd('workers', s)
c.set("worker:#{s}", data)