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:
parent
4ca4a71231
commit
69ede19027
2 changed files with 19 additions and 6 deletions
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue